{"version":3,"sources":["jsdelivr-header.js","/npm/detect-kerning@2.1.2/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAGA,OAAO,QAAU,QAGjB,IAAI,OAAS,QAAQ,OAAS,SAAS,cAAc,UACjD,IAAM,OAAO,WAAW,MACxB,WAAa,YAAY,CAAC,GAAI,MAMlC,SAAS,QAAS,EAAQ,GACrB,MAAM,QAAQ,KAAS,EAAS,EAAO,KAAK,OAEhD,IAAgB,EAAZ,EAAQ,CAAC,EAAU,EAAK,GAAI,EAAY,IAExC,IACc,IAAb,EAAE,QAAgC,iBAAT,EAAE,GAC9B,EAAQ,YAAY,GAEZ,MAAM,QAAQ,GACtB,EAAQ,GAGJ,EAAE,EAAG,EAAQ,YAAY,EAAE,GACtB,EAAE,QAAO,EAAQ,EAAE,OAExB,EAAE,WAAU,EAAK,EAAE,UACJ,MAAf,EAAE,YAAmB,EAAY,EAAE,aAIpC,IAAO,EAAQ,YAEpB,IAAI,KAAO,EAAK,MAAQ,EAExB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CACtC,IAAI,EAAO,EAAM,GACb,EAAQ,IAAI,YAAY,EAAK,IAAI,MAAQ,IAAI,YAAY,EAAK,IAAI,MAClE,EAAe,IAAI,YAAY,GAAM,MACzC,GAAI,KAAK,IAAI,EAAQ,GAAgB,EAAK,EAAW,CACpD,IAAI,GAAW,EAAe,GAAS,EACvC,EAAM,GAAkB,IAAV,CACf,CACD,CAEA,OAAO,CACR,CAGA,SAAS,YAAa,GAGlB,IAFH,IAAI,EAAQ,GAEA,EAAI,EAAM,GAAI,GAAK,EAAM,GAAI,IAExC,IADA,IAAI,EAAW,OAAO,aAAa,GAC1B,EAAI,EAAM,GAAI,EAAI,EAAM,GAAI,IAAK,CACzC,IACI,EAAO,EADK,OAAO,aAAa,GAGpC,EAAM,KAAK,EACZ,CAGD,OAAO,CACR,CAzDA,QAAQ,YAAc,YACtB,QAAQ,MAAQ","file":"/npm/detect-kerning@2.1.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/detect-kerning@2.1.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict'\r\n\r\n\r\nmodule.exports = kerning\r\n\r\n\r\nvar canvas = kerning.canvas = document.createElement('canvas')\r\nvar ctx = canvas.getContext('2d')\r\nvar asciiPairs = createPairs([32, 126])\r\n\r\nkerning.createPairs = createPairs\r\nkerning.ascii = asciiPairs\r\n\r\n\r\nfunction kerning (family, o) {\r\n\tif (Array.isArray(family)) family = family.join(', ')\r\n\r\n\tvar table = {}, pairs, fs = 16, threshold = .05\r\n\r\n\tif (o) {\r\n\t\tif (o.length === 2 && typeof o[0] === 'number') {\r\n\t\t\tpairs = createPairs(o)\r\n\t\t}\r\n\t\telse if (Array.isArray(o)) {\r\n\t\t\tpairs = o\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (o.o) pairs = createPairs(o.o)\r\n\t\t\telse if (o.pairs) pairs = o.pairs\r\n\r\n\t\t\tif (o.fontSize) fs = o.fontSize\r\n\t\t\tif (o.threshold != null) threshold = o.threshold\r\n\t\t}\r\n\t}\r\n\r\n\tif (!pairs) pairs = asciiPairs\r\n\r\n\tctx.font = fs + 'px ' + family\r\n\r\n\tfor (var i = 0; i < pairs.length; i++) {\r\n\t\tvar pair = pairs[i]\r\n\t\tvar width = ctx.measureText(pair[0]).width + ctx.measureText(pair[1]).width\r\n\t\tvar kerningWidth = ctx.measureText(pair).width\r\n\t\tif (Math.abs(width - kerningWidth) > fs * threshold) {\r\n\t\t\tvar emWidth = (kerningWidth - width) / fs\r\n\t\t\ttable[pair] = emWidth * 1000\r\n\t\t}\r\n\t}\r\n\r\n\treturn table\r\n}\r\n\r\n\r\nfunction createPairs (range) {\r\n\tvar pairs = []\r\n\r\n    for (var i = range[0]; i <= range[1]; i++) {\r\n\t\tvar leftChar = String.fromCharCode(i)\r\n\t\tfor (var j = range[0]; j < range[1]; j++) {\r\n\t\t\tvar rightChar = String.fromCharCode(j)\r\n\t\t\tvar pair = leftChar + rightChar\r\n\r\n\t\t\tpairs.push(pair)\r\n\t\t}\r\n\t}\r\n\r\n\treturn pairs\r\n}\r\n"]}