(data, start)
| 6323 | |
| 6324 | // Parse the PostScript `post` table |
| 6325 | function 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 | |
| 6370 | function makePostTable() { |
| 6371 | return new table.Table('post', [ |
nothing calls this directly
no outgoing calls
no test coverage detected