{"version":3,"sources":["webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/subtable.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format0.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format2.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format4.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format6.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format8.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format10.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format12.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format13.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/format14.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap.js","webpack:///./node_modules/lib-font/src/opentype/tables/simple/cmap/createSubTable.js"],"names":["constructor","p","plaformID","encodingID","super","this","platformID","format","length","uint16","language","glyphIdArray","Array","map","_","uint8","supports","charCode","charCodeAt","console","warn","reverse","glyphID","getSupportedCharCodes","start","end","subHeaderKeys","subHeaderCount","Math","max","subHeaderOffset","currentPosition","lazy","SubHeader","glyphIndexOffset","low","high","subHeaderKey","subHeaders","subheader","first","firstCode","last","entryCount","arguments","undefined","h","lastCode","idDelta","int16","idRangeOffset","segCountX2","segCount","searchRange","entrySelector","rangeShift","endCodePosition","readBytes","startCodePosition","idDeltaPosition","idRangePosition","glyphIdArrayPosition","glyphIdArrayLength","tableStart","buildSegments","i","startCode","endCode","idRangeOffsetPointer","glyphIDs","e","push","s","segments","find","v","includes","code","indexOf","unicode","String","fromCodePoint","getGlyphId","segment","pos","uint32","is32","numGroups","SequentialMapGroup","groups","findIndex","startcharCode","endcharCode","startGlyphID","startCharCode","numChars","endCharCode","group","getter","ConstantMapGroup","subTableStart","numVarSelectorRecords","VariationSelector","supportsVariation","variation","varSelector","uvs","getSupportedVariations","varSelectors","uint24","defaultUVSOffset","Offset32","nonDefaultUVSOffset","dict","dataview","version","numTables","encodingRecords","getSubTable","tableID","table","getSupportedEncodings","r","recordID","glyphid","char","some","t","offset","parser","createSubTable"],"mappings":"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","file":"js/19-464c2d707b216d15eb1a.chunk.js","sourcesContent":["import { ParsedData } from \"../../../../parser.js\";\nclass Subtable extends ParsedData {\n constructor(p, plaformID, encodingID) {\n super(p);\n this.plaformID = plaformID;\n this.encodingID = encodingID;\n }\n}\nexport { Subtable };","import { Subtable } from \"./subtable.js\";\nclass Format0 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 0;\n this.length = p.uint16;\n this.language = p.uint16;\n // this isn't worth lazy-loading\n this.glyphIdArray = [...new Array(256)].map(_ => p.uint8);\n }\n supports(charCode) {\n if (charCode.charCodeAt) {\n // TODO: FIXME: map this character to a number based on the Apple standard character to glyph mapping\n charCode = -1;\n console.warn(`supports(character) not implemented for cmap subtable format 0. only supports(id) is implemented.`);\n }\n return 0 <= charCode && charCode <= 255;\n }\n reverse(glyphID) {\n console.warn(`reverse not implemented for cmap subtable format 0`);\n return {};\n }\n getSupportedCharCodes() {\n return [{\n start: 1,\n end: 256\n }];\n }\n}\nexport { Format0 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\nclass Format2 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 2;\n this.length = p.uint16;\n this.language = p.uint16;\n this.subHeaderKeys = [...new Array(256)].map(_ => p.uint16);\n const subHeaderCount = Math.max(...this.subHeaderKeys);\n const subHeaderOffset = p.currentPosition;\n lazy(this, `subHeaders`, () => {\n p.currentPosition = subHeaderOffset;\n return [...new Array(subHeaderCount)].map(_ => new SubHeader(p));\n });\n const glyphIndexOffset = subHeaderOffset + subHeaderCount * 8;\n lazy(this, `glyphIndexArray`, () => {\n p.currentPosition = glyphIndexOffset;\n return [...new Array(subHeaderCount)].map(_ => p.uint16);\n });\n }\n supports(charCode) {\n if (charCode.charCodeAt) {\n // TODO: FIXME: consider implementing the correct mapping, https://docs.microsoft.com/en-us/typography/opentype/spec/cmap#format-2-high-byte-mapping-through-table\n charCode = -1;\n console.warn(`supports(character) not implemented for cmap subtable format 2. only supports(id) is implemented.`);\n }\n const low = charCode && 0xff;\n const high = charCode && 0xff00;\n const subHeaderKey = this.subHeaders[high];\n const subheader = this.subHeaders[subHeaderKey];\n const first = subheader.firstCode;\n const last = first + subheader.entryCount;\n return first <= low && low <= last;\n }\n reverse(glyphID) {\n console.warn(`reverse not implemented for cmap subtable format 2`);\n return {};\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) {\n return this.subHeaders.map(h => ({\n firstCode: h.firstCode,\n lastCode: h.lastCode\n }));\n }\n return this.subHeaders.map(h => ({\n start: h.firstCode,\n end: h.lastCode\n }));\n }\n}\nclass SubHeader {\n constructor(p) {\n this.firstCode = p.uint16;\n this.entryCount = p.uint16;\n this.lastCode = this.first + this.entryCount;\n this.idDelta = p.int16;\n this.idRangeOffset = p.uint16;\n }\n}\nexport { Format2 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\nclass Format4 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 4;\n this.length = p.uint16;\n this.language = p.uint16;\n this.segCountX2 = p.uint16;\n this.segCount = this.segCountX2 / 2;\n this.searchRange = p.uint16;\n this.entrySelector = p.uint16;\n this.rangeShift = p.uint16;\n\n // This cmap subformat basically lazy-loads everything. It would be better to\n // not even lazy load but the code is not ready for selective extraction.\n\n const endCodePosition = p.currentPosition;\n lazy(this, `endCode`, () => p.readBytes(this.segCount, endCodePosition, 16));\n const startCodePosition = endCodePosition + 2 + this.segCountX2;\n lazy(this, `startCode`, () => p.readBytes(this.segCount, startCodePosition, 16));\n const idDeltaPosition = startCodePosition + this.segCountX2;\n lazy(this, `idDelta`, () => p.readBytes(this.segCount, idDeltaPosition, 16, true) // Note that idDelta values are signed\n );\n\n const idRangePosition = idDeltaPosition + this.segCountX2;\n lazy(this, `idRangeOffset`, () => p.readBytes(this.segCount, idRangePosition, 16));\n const glyphIdArrayPosition = idRangePosition + this.segCountX2;\n const glyphIdArrayLength = this.length - (glyphIdArrayPosition - this.tableStart);\n lazy(this, `glyphIdArray`, () => p.readBytes(glyphIdArrayLength, glyphIdArrayPosition, 16));\n\n // also, while not in the spec, we really want to organise all that data into convenient segments\n lazy(this, `segments`, () => this.buildSegments(idRangePosition, glyphIdArrayPosition, p));\n }\n buildSegments(idRangePosition, glyphIdArrayPosition, p) {\n const build = (_, i) => {\n let startCode = this.startCode[i],\n endCode = this.endCode[i],\n idDelta = this.idDelta[i],\n idRangeOffset = this.idRangeOffset[i],\n idRangeOffsetPointer = idRangePosition + 2 * i,\n glyphIDs = [];\n\n // simple case\n if (idRangeOffset === 0) {\n for (let i = startCode + idDelta, e = endCode + idDelta; i <= e; i++) {\n glyphIDs.push(i);\n }\n }\n\n // not so simple case\n else {\n for (let i = 0, e = endCode - startCode; i <= e; i++) {\n p.currentPosition = idRangeOffsetPointer + idRangeOffset + i * 2;\n glyphIDs.push(p.uint16);\n }\n }\n return {\n startCode,\n endCode,\n idDelta,\n idRangeOffset,\n glyphIDs\n };\n };\n return [...new Array(this.segCount)].map(build);\n }\n reverse(glyphID) {\n let s = this.segments.find(v => v.glyphIDs.includes(glyphID));\n if (!s) return {};\n const code = s.startCode + s.glyphIDs.indexOf(glyphID);\n return {\n code,\n unicode: String.fromCodePoint(code)\n };\n }\n getGlyphId(charCode) {\n if (charCode.charCodeAt) charCode = charCode.charCodeAt(0);\n\n // surrogate pair value?\n if (0xd800 <= charCode && charCode <= 0xdfff) return 0;\n\n // one of the exactly 66 noncharacters?\n if ((charCode & 0xfffe) === 0xfffe || (charCode & 0xffff) === 0xffff) return 0;\n let segment = this.segments.find(s => s.startCode <= charCode && charCode <= s.endCode);\n if (!segment) return 0;\n return segment.glyphIDs[charCode - segment.startCode];\n }\n supports(charCode) {\n return this.getGlyphId(charCode) !== 0;\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) return this.segments;\n return this.segments.map(v => ({\n start: v.startCode,\n end: v.endCode\n }));\n }\n}\nexport { Format4 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\nclass Format6 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 6;\n this.length = p.uint16;\n this.language = p.uint16;\n this.firstCode = p.uint16;\n this.entryCount = p.uint16;\n this.lastCode = this.firstCode + this.entryCount - 1;\n const getter = () => [...new Array(this.entryCount)].map(_ => p.uint16);\n lazy(this, `glyphIdArray`, getter);\n }\n supports(charCode) {\n if (charCode.charCodeAt) {\n // TODO: FIXME: This can be anything, and depends on the Macintosh language indicated by this.language...\n charCode = -1;\n console.warn(`supports(character) not implemented for cmap subtable format 6. only supports(id) is implemented.`);\n }\n if (charCode < this.firstCode) return {};\n if (charCode > this.firstCode + this.entryCount) return {};\n const code = charCode - this.firstCode;\n return {\n code,\n unicode: String.fromCodePoint(code)\n };\n }\n reverse(glyphID) {\n let pos = this.glyphIdArray.indexOf(glyphID);\n if (pos > -1) return this.firstCode + pos;\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) {\n return [{\n firstCode: this.firstCode,\n lastCode: this.lastCode\n }];\n }\n return [{\n start: this.firstCode,\n end: this.lastCode\n }];\n }\n}\nexport { Format6 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\nclass Format8 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 8;\n p.uint16;\n this.length = p.uint32;\n this.language = p.uint32;\n this.is32 = [...new Array(8192)].map(_ => p.uint8);\n this.numGroups = p.uint32;\n const getter = () => [...new Array(this.numGroups)].map(_ => new SequentialMapGroup(p));\n lazy(this, `groups`, getter);\n }\n supports(charCode) {\n if (charCode.charCodeAt) {\n // TODO: FIXME: https://docs.microsoft.com/en-us/typography/opentype/spec/cmap#format-8-mixed-16-bit-and-32-bit-coverage is kind of incredible\n charCode = -1;\n console.warn(`supports(character) not implemented for cmap subtable format 8. only supports(id) is implemented.`);\n }\n return this.groups.findIndex(s => s.startcharCode <= charCode && charCode <= s.endcharCode) !== -1;\n }\n reverse(glyphID) {\n console.warn(`reverse not implemented for cmap subtable format 8`);\n return {};\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) return this.groups;\n return this.groups.map(v => ({\n start: v.startcharCode,\n end: v.endcharCode\n }));\n }\n}\nclass SequentialMapGroup {\n constructor(p) {\n this.startcharCode = p.uint32;\n this.endcharCode = p.uint32;\n this.startGlyphID = p.uint32;\n }\n}\nexport { Format8 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\n\n// basically Format 6, but for 32 bit characters\nclass Format10 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 10;\n p.uint16;\n this.length = p.uint32;\n this.language = p.uint32;\n this.startCharCode = p.uint32;\n this.numChars = p.uint32;\n this.endCharCode = this.startCharCode + this.numChars;\n const getter = () => [...new Array(this.numChars)].map(_ => p.uint16);\n lazy(this, `glyphs`, getter);\n }\n supports(charCode) {\n if (charCode.charCodeAt) {\n // TODO: FIXME: This can be anything, and depends on the Macintosh language indicated by this.language...\n charCode = -1;\n console.warn(`supports(character) not implemented for cmap subtable format 10. only supports(id) is implemented.`);\n }\n if (charCode < this.startCharCode) return false;\n if (charCode > this.startCharCode + this.numChars) return false;\n return charCode - this.startCharCode;\n }\n reverse(glyphID) {\n console.warn(`reverse not implemented for cmap subtable format 10`);\n return {};\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) {\n return [{\n startCharCode: this.startCharCode,\n endCharCode: this.endCharCode\n }];\n }\n return [{\n start: this.startCharCode,\n end: this.endCharCode\n }];\n }\n}\nexport { Format10 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\n\n// basically Format 8, but for 32 bit characters\nclass Format12 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 12;\n p.uint16;\n this.length = p.uint32;\n this.language = p.uint32;\n this.numGroups = p.uint32;\n const getter = () => [...new Array(this.numGroups)].map(_ => new SequentialMapGroup(p));\n lazy(this, `groups`, getter);\n }\n supports(charCode) {\n if (charCode.charCodeAt) charCode = charCode.charCodeAt(0);\n\n // surrogate pair value?\n if (0xd800 <= charCode && charCode <= 0xdfff) return 0;\n\n // one of the exactly 66 noncharacters?\n if ((charCode & 0xfffe) === 0xfffe || (charCode & 0xffff) === 0xffff) return 0;\n return this.groups.findIndex(s => s.startCharCode <= charCode && charCode <= s.endCharCode) !== -1;\n }\n reverse(glyphID) {\n for (let group of this.groups) {\n let start = group.startGlyphID;\n if (start > glyphID) continue;\n if (start === glyphID) return group.startCharCode;\n let end = start + (group.endCharCode - group.startCharCode);\n if (end < glyphID) continue;\n const code = group.startCharCode + (glyphID - start);\n return {\n code,\n unicode: String.fromCodePoint(code)\n };\n }\n return {};\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) return this.groups;\n return this.groups.map(v => ({\n start: v.startCharCode,\n end: v.endCharCode\n }));\n }\n}\nclass SequentialMapGroup {\n constructor(p) {\n this.startCharCode = p.uint32;\n this.endCharCode = p.uint32;\n this.startGlyphID = p.uint32;\n }\n}\nexport { Format12 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\nclass Format13 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.format = 13;\n p.uint16;\n this.length = p.uint32;\n this.language = p.uint32;\n this.numGroups = p.uint32;\n const getter = [...new Array(this.numGroups)].map(_ => new ConstantMapGroup(p));\n lazy(this, `groups`, getter);\n }\n supports(charCode) {\n if (charCode.charCodeAt) charCode = charCode.charCodeAt(0); // assumed safe, might not be?\n return this.groups.findIndex(s => s.startCharCode <= charCode && charCode <= s.endCharCode) !== -1;\n }\n reverse(glyphID) {\n console.warn(`reverse not implemented for cmap subtable format 13`);\n return {};\n }\n getSupportedCharCodes() {\n let preservePropNames = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (preservePropNames) return this.groups;\n return this.groups.map(v => ({\n start: v.startCharCode,\n end: v.endCharCode\n }));\n }\n}\nclass ConstantMapGroup {\n constructor(p) {\n this.startCharCode = p.uint32;\n this.endCharCode = p.uint32;\n this.glyphID = p.uint32;\n }\n}\nexport { Format13 };","import lazy from \"../../../../lazy.js\";\nimport { Subtable } from \"./subtable.js\";\nclass Format14 extends Subtable {\n constructor(p, platformID, encodingID) {\n super(p, platformID, encodingID);\n this.subTableStart = p.currentPosition;\n this.format = 14;\n this.length = p.uint32;\n this.numVarSelectorRecords = p.uint32;\n lazy(this, `varSelectors`, () => [...new Array(this.numVarSelectorRecords)].map(_ => new VariationSelector(p)));\n }\n supports() {\n console.warn(`supports not implemented for cmap subtable format 14`);\n return 0;\n }\n getSupportedCharCodes() {\n console.warn(`getSupportedCharCodes not implemented for cmap subtable format 14`);\n return [];\n }\n reverse(glyphID) {\n console.warn(`reverse not implemented for cmap subtable format 14`);\n return {};\n }\n supportsVariation(variation) {\n let v = this.varSelector.find(uvs => uvs.varSelector === variation);\n return v ? v : false;\n }\n getSupportedVariations() {\n return this.varSelectors.map(v => v.varSelector);\n }\n}\nclass VariationSelector {\n constructor(p) {\n this.varSelector = p.uint24;\n this.defaultUVSOffset = p.Offset32;\n this.nonDefaultUVSOffset = p.Offset32;\n }\n}\nexport { Format14 };","import { SimpleTable } from \"../simple-table.js\";\nimport createSubTable from \"./cmap/createSubTable.js\";\nimport lazy from \"../../../lazy.js\";\n\n/**\n * The OpenType `cmap` main table.\n *\n * Subtables are found in the ./cmap directory\n *\n * See https://docs.microsoft.com/en-us/typography/opentype/spec/cmap for more information\n */\nclass cmap extends SimpleTable {\n constructor(dict, dataview) {\n const _super = super(dict, dataview),\n p = _super.p;\n this.version = p.uint16;\n this.numTables = p.uint16;\n this.encodingRecords = [...new Array(this.numTables)].map(_ => new EncodingRecord(p, this.tableStart));\n }\n getSubTable(tableID) {\n return this.encodingRecords[tableID].table;\n }\n getSupportedEncodings() {\n return this.encodingRecords.map(r => ({\n platformID: r.platformID,\n encodingID: r.encodingID\n }));\n }\n getSupportedCharCodes(platformID, encodingID) {\n const recordID = this.encodingRecords.findIndex(r => r.platformID === platformID && r.encodingID === encodingID);\n if (recordID === -1) return false;\n const subtable = this.getSubTable(recordID);\n return subtable.getSupportedCharCodes();\n }\n reverse(glyphid) {\n for (let i = 0; i < this.numTables; i++) {\n let code = this.getSubTable(i).reverse(glyphid);\n if (code) return code;\n }\n }\n getGlyphId(char) {\n let last = 0;\n this.encodingRecords.some((_, tableID) => {\n let t = this.getSubTable(tableID);\n if (!t.getGlyphId) return false;\n last = t.getGlyphId(char);\n return last !== 0;\n });\n return last;\n }\n supports(char) {\n return this.encodingRecords.some((_, tableID) => {\n const t = this.getSubTable(tableID);\n return t.supports && t.supports(char) !== false;\n });\n }\n supportsVariation(variation) {\n return this.encodingRecords.some((_, tableID) => {\n const t = this.getSubTable(tableID);\n return t.supportsVariation && t.supportsVariation(variation) !== false;\n });\n }\n}\n\n/**\n * ...docs go here...\n */\nclass EncodingRecord {\n constructor(p, tableStart) {\n const platformID = this.platformID = p.uint16;\n const encodingID = this.encodingID = p.uint16;\n const offset = this.offset = p.Offset32; // from cmap table start\n\n lazy(this, `table`, () => {\n p.currentPosition = tableStart + offset;\n return createSubTable(p, platformID, encodingID);\n });\n }\n}\nexport { cmap };","// cmap subtables\n\nimport { Format0 } from \"./format0.js\";\nimport { Format2 } from \"./format2.js\";\nimport { Format4 } from \"./format4.js\";\nimport { Format6 } from \"./format6.js\";\nimport { Format8 } from \"./format8.js\";\nimport { Format10 } from \"./format10.js\";\nimport { Format12 } from \"./format12.js\";\nimport { Format13 } from \"./format13.js\";\nimport { Format14 } from \"./format14.js\";\n\n/**\n * Cmap Subtable factory\n * @param {int} format the subtable format number (see https://docs.microsoft.com/en-us/typography/opentype/spec/cmap#format-0-byte-encoding-table onward)\n * @param {parser} parser a parser already pointing at the subtable's data location, right after reading the `format` uint16.\n */\nexport default function createSubTable(parser, platformID, encodingID) {\n const format = parser.uint16;\n if (format === 0) return new Format0(parser, platformID, encodingID);\n if (format === 2) return new Format2(parser, platformID, encodingID);\n if (format === 4) return new Format4(parser, platformID, encodingID);\n if (format === 6) return new Format6(parser, platformID, encodingID);\n if (format === 8) return new Format8(parser, platformID, encodingID);\n if (format === 10) return new Format10(parser, platformID, encodingID);\n if (format === 12) return new Format12(parser, platformID, encodingID);\n if (format === 13) return new Format13(parser, platformID, encodingID);\n if (format === 14) return new Format14(parser, platformID, encodingID);\n return {};\n}"],"sourceRoot":""}