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

Function parsePostTable

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

Source from the content-addressed store, hash-verified

6323
6324// Parse the PostScript `post` table
6325function parsePostTable(data, start) {
6326 var post = {};
6327 var p = new parse.Parser(data, start);
6328 var i;
6329 post.version = p.parseVersion();
6330 post.italicAngle = p.parseFixed();
6331 post.underlinePosition = p.parseShort();
6332 post.underlineThickness = p.parseShort();
6333 post.isFixedPitch = p.parseULong();
6334 post.minMemType42 = p.parseULong();
6335 post.maxMemType42 = p.parseULong();
6336 post.minMemType1 = p.parseULong();
6337 post.maxMemType1 = p.parseULong();
6338 switch (post.version) {
6339 case 1:
6340 post.names = encoding.standardNames.slice();
6341 break;
6342 case 2:
6343 post.numberOfGlyphs = p.parseUShort();
6344 post.glyphNameIndex = new Array(post.numberOfGlyphs);
6345 for (i = 0; i < post.numberOfGlyphs; i++) {
6346 post.glyphNameIndex[i] = p.parseUShort();
6347 }
6348
6349 post.names = [];
6350 for (i = 0; i < post.numberOfGlyphs; i++) {
6351 if (post.glyphNameIndex[i] >= encoding.standardNames.length) {
6352 var nameLength = p.parseChar();
6353 post.names.push(p.parseString(nameLength));
6354 }
6355 }
6356
6357 break;
6358 case 2.5:
6359 post.numberOfGlyphs = p.parseUShort();
6360 post.offset = new Array(post.numberOfGlyphs);
6361 for (i = 0; i < post.numberOfGlyphs; i++) {
6362 post.offset[i] = p.parseChar();
6363 }
6364
6365 break;
6366 }
6367 return post;
6368}
6369
6370function makePostTable() {
6371 return new table.Table('post', [

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected