{"version":3,"sources":["webpack:///./node_modules/lib-font/src/opentype/tables/simple/post.js"],"names":["post","constructor","dict","dataview","p","super","this","version","legacyFixed","italicAngle","fixed","underlinePosition","fword","underlineThickness","isFixedPitch","uint32","minMemType42","maxMemType42","minMemType1","maxMemType1","verifyLength","numGlyphs","uint16","glyphNameIndex","Array","map","_","namesOffset","currentPosition","glyphNameOffsets","i","macStrings","length","push","bytelength","int8","skip","offset","getGlyphName","glyphid","console","warn","index","len","parser","readBytes","b","String","fromCharCode","join"],"mappings":"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","file":"js/37-f762d600159366063aeb.chunk.js","sourcesContent":["import { SimpleTable } from \"../simple-table.js\";\n\n/**\n * The OpenType `post` table.\n *\n * See https://docs.microsoft.com/en-us/typography/opentype/spec/post\n */\nclass post extends SimpleTable {\n constructor(dict, dataview) {\n const _super = super(dict, dataview),\n p = _super.p;\n this.version = p.legacyFixed;\n this.italicAngle = p.fixed;\n this.underlinePosition = p.fword;\n this.underlineThickness = p.fword;\n this.isFixedPitch = p.uint32;\n this.minMemType42 = p.uint32;\n this.maxMemType42 = p.uint32;\n this.minMemType1 = p.uint32;\n this.maxMemType1 = p.uint32;\n if (this.version === 1 || this.version === 3) return p.verifyLength();\n this.numGlyphs = p.uint16;\n if (this.version === 2) {\n this.glyphNameIndex = [...new Array(this.numGlyphs)].map(_ => p.uint16);\n\n // Note: we don't actually build `this.names` because it's a frankly bizarre\n // byte blob that encodes strings as \"length-and-then-bytes\" such that it\n // needs to be loaded entirely in memory before it's useful. That's fine for\n // printers, but is nuts for anything else.\n\n // Instead, we parse the data only enough to build a NEW type of lookup that\n // tells us which offset a glyph's name bytes are inside the names blob, with\n // the length of a name determined by offsets[next] - offsets[this].\n\n this.namesOffset = p.currentPosition;\n this.glyphNameOffsets = [1];\n for (let i = 0; i < this.numGlyphs; i++) {\n let index = this.glyphNameIndex[i];\n if (index < macStrings.length) {\n this.glyphNameOffsets.push(this.glyphNameOffsets[i]);\n continue;\n }\n let bytelength = p.int8;\n p.skip(bytelength);\n this.glyphNameOffsets.push(this.glyphNameOffsets[i] + bytelength + 1);\n }\n }\n if (this.version === 2.5) {\n this.offset = [...new Array(this.numGlyphs)].map(_ => p.int8);\n }\n }\n getGlyphName(glyphid) {\n if (this.version !== 2) {\n console.warn(`post table version ${this.version} does not support glyph name lookups`);\n return ``;\n }\n let index = this.glyphNameIndex[glyphid];\n if (index < 258) return macStrings[index];\n let offset = this.glyphNameOffsets[glyphid];\n let next = this.glyphNameOffsets[glyphid + 1];\n let len = next - offset - 1;\n if (len === 0) return `.notdef.`;\n this.parser.currentPosition = this.namesOffset + offset;\n const data = this.parser.readBytes(len, this.namesOffset + offset, 8, true);\n return data.map(b => String.fromCharCode(b)).join(``);\n }\n}\nexport { post };\nconst macStrings = [`.notdef`, `.null`, `nonmarkingreturn`, `space`, `exclam`, `quotedbl`, `numbersign`, `dollar`, `percent`, `ampersand`, `quotesingle`, `parenleft`, `parenright`, `asterisk`, `plus`, `comma`, `hyphen`, `period`, `slash`, `zero`, `one`, `two`, `three`, `four`, `five`, `six`, `seven`, `eight`, `nine`, `colon`, `semicolon`, `less`, `equal`, `greater`, `question`, `at`, `A`, `B`, `C`, `D`, `E`, `F`, `G`, `H`, `I`, `J`, `K`, `L`, `M`, `N`, `O`, `P`, `Q`, `R`, `S`, `T`, `U`, `V`, `W`, `X`, `Y`, `Z`, `bracketleft`, `backslash`, `bracketright`, `asciicircum`, `underscore`, `grave`, `a`, `b`, `c`, `d`, `e`, `f`, `g`, `h`, `i`, `j`, `k`, `l`, `m`, `n`, `o`, `p`, `q`, `r`, `s`, `t`, `u`, `v`, `w`, `x`, `y`, `z`, `braceleft`, `bar`, `braceright`, `asciitilde`, `Adieresis`, `Aring`, `Ccedilla`, `Eacute`, `Ntilde`, `Odieresis`, `Udieresis`, `aacute`, `agrave`, `acircumflex`, `adieresis`, `atilde`, `aring`, `ccedilla`, `eacute`, `egrave`, `ecircumflex`, `edieresis`, `iacute`, `igrave`, `icircumflex`, `idieresis`, `ntilde`, `oacute`, `ograve`, `ocircumflex`, `odieresis`, `otilde`, `uacute`, `ugrave`, `ucircumflex`, `udieresis`, `dagger`, `degree`, `cent`, `sterling`, `section`, `bullet`, `paragraph`, `germandbls`, `registered`, `copyright`, `trademark`, `acute`, `dieresis`, `notequal`, `AE`, `Oslash`, `infinity`, `plusminus`, `lessequal`, `greaterequal`, `yen`, `mu`, `partialdiff`, `summation`, `product`, `pi`, `integral`, `ordfeminine`, `ordmasculine`, `Omega`, `ae`, `oslash`, `questiondown`, `exclamdown`, `logicalnot`, `radical`, `florin`, `approxequal`, `Delta`, `guillemotleft`, `guillemotright`, `ellipsis`, `nonbreakingspace`, `Agrave`, `Atilde`, `Otilde`, `OE`, `oe`, `endash`, `emdash`, `quotedblleft`, `quotedblright`, `quoteleft`, `quoteright`, `divide`, `lozenge`, `ydieresis`, `Ydieresis`, `fraction`, `currency`, `guilsinglleft`, `guilsinglright`, `fi`, `fl`, `daggerdbl`, `periodcentered`, `quotesinglbase`, `quotedblbase`, `perthousand`, `Acircumflex`, `Ecircumflex`, `Aacute`, `Edieresis`, `Egrave`, `Iacute`, `Icircumflex`, `Idieresis`, `Igrave`, `Oacute`, `Ocircumflex`, `apple`, `Ograve`, `Uacute`, `Ucircumflex`, `Ugrave`, `dotlessi`, `circumflex`, `tilde`, `macron`, `breve`, `dotaccent`, `ring`, `cedilla`, `hungarumlaut`, `ogonek`, `caron`, `Lslash`, `lslash`, `Scaron`, `scaron`, `Zcaron`, `zcaron`, `brokenbar`, `Eth`, `eth`, `Yacute`, `yacute`, `Thorn`, `thorn`, `minus`, `multiply`, `onesuperior`, `twosuperior`, `threesuperior`, `onehalf`, `onequarter`, `threequarters`, `franc`, `Gbreve`, `gbreve`, `Idotaccent`, `Scedilla`, `scedilla`, `Cacute`, `cacute`, `Ccaron`, `ccaron`, `dcroat`];"],"sourceRoot":""}