(data, start)
| 6203 | |
| 6204 | // Parse the OS/2 and Windows metrics `OS/2` table |
| 6205 | function parseOS2Table(data, start) { |
| 6206 | var os2 = {}; |
| 6207 | var p = new parse.Parser(data, start); |
| 6208 | os2.version = p.parseUShort(); |
| 6209 | os2.xAvgCharWidth = p.parseShort(); |
| 6210 | os2.usWeightClass = p.parseUShort(); |
| 6211 | os2.usWidthClass = p.parseUShort(); |
| 6212 | os2.fsType = p.parseUShort(); |
| 6213 | os2.ySubscriptXSize = p.parseShort(); |
| 6214 | os2.ySubscriptYSize = p.parseShort(); |
| 6215 | os2.ySubscriptXOffset = p.parseShort(); |
| 6216 | os2.ySubscriptYOffset = p.parseShort(); |
| 6217 | os2.ySuperscriptXSize = p.parseShort(); |
| 6218 | os2.ySuperscriptYSize = p.parseShort(); |
| 6219 | os2.ySuperscriptXOffset = p.parseShort(); |
| 6220 | os2.ySuperscriptYOffset = p.parseShort(); |
| 6221 | os2.yStrikeoutSize = p.parseShort(); |
| 6222 | os2.yStrikeoutPosition = p.parseShort(); |
| 6223 | os2.sFamilyClass = p.parseShort(); |
| 6224 | os2.panose = []; |
| 6225 | for (var i = 0; i < 10; i++) { |
| 6226 | os2.panose[i] = p.parseByte(); |
| 6227 | } |
| 6228 | |
| 6229 | os2.ulUnicodeRange1 = p.parseULong(); |
| 6230 | os2.ulUnicodeRange2 = p.parseULong(); |
| 6231 | os2.ulUnicodeRange3 = p.parseULong(); |
| 6232 | os2.ulUnicodeRange4 = p.parseULong(); |
| 6233 | os2.achVendID = String.fromCharCode(p.parseByte(), p.parseByte(), p.parseByte(), p.parseByte()); |
| 6234 | os2.fsSelection = p.parseUShort(); |
| 6235 | os2.usFirstCharIndex = p.parseUShort(); |
| 6236 | os2.usLastCharIndex = p.parseUShort(); |
| 6237 | os2.sTypoAscender = p.parseShort(); |
| 6238 | os2.sTypoDescender = p.parseShort(); |
| 6239 | os2.sTypoLineGap = p.parseShort(); |
| 6240 | os2.usWinAscent = p.parseUShort(); |
| 6241 | os2.usWinDescent = p.parseUShort(); |
| 6242 | if (os2.version >= 1) { |
| 6243 | os2.ulCodePageRange1 = p.parseULong(); |
| 6244 | os2.ulCodePageRange2 = p.parseULong(); |
| 6245 | } |
| 6246 | |
| 6247 | if (os2.version >= 2) { |
| 6248 | os2.sxHeight = p.parseShort(); |
| 6249 | os2.sCapHeight = p.parseShort(); |
| 6250 | os2.usDefaultChar = p.parseUShort(); |
| 6251 | os2.usBreakChar = p.parseUShort(); |
| 6252 | os2.usMaxContent = p.parseUShort(); |
| 6253 | } |
| 6254 | |
| 6255 | return os2; |
| 6256 | } |
| 6257 | |
| 6258 | function makeOS2Table(options) { |
| 6259 | return new table.Table('OS/2', [ |
nothing calls this directly
no outgoing calls
no test coverage detected