var va=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Ne=va(()=>{});String.prototype.codePointAt||function(){var e=function(){try{var t={},a=Object.defineProperty,n=a(t,t,t)&&a}catch{}return n}(),r=function(t){if(this==null)throw TypeError();var a=String(this),n=a.length,s=t?Number(t):0;if(s!=s&&(s=0),!(s<0||s>=n)){var i=a.charCodeAt(s),u;return i>=55296&&i<=56319&&n>s+1&&(u=a.charCodeAt(s+1),u>=56320&&u<=57343)?(i-55296)*1024+u-56320+65536:i}};e?e(String.prototype,"codePointAt",{value:r,configurable:!0,writable:!0}):String.prototype.codePointAt=r}();var Sr=0,xt=-3;function Le(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function da(e,r){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=r,this.destLen=0,this.ltree=new Le,this.dtree=new Le}var bt=new Le,St=new Le,Tr=new Uint8Array(30),kr=new Uint16Array(30),Tt=new Uint8Array(30),kt=new Uint16Array(30),ga=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Br=new Le,se=new Uint8Array(288+32);function Ft(e,r,t,a){var n,s;for(n=0;n>>=1,r}function ie(e,r,t){if(!r)return t;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-r;return e.tag>>>=r,e.bitcount-=r,a+t}function hr(e,r){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++n,t+=r.table[n],a-=r.table[n];while(a>=0);return e.tag=s,e.bitcount-=n,r.trans[t+a]}function xa(e,r,t){var a,n,s,i,u,o;for(a=ie(e,5,257),n=ie(e,5,1),s=ie(e,4,4),i=0;i<19;++i)se[i]=0;for(i=0;i8;)e.sourceIndex--,e.bitcount-=8;if(r=e.source[e.sourceIndex+1],r=256*r+e.source[e.sourceIndex],t=e.source[e.sourceIndex+3],t=256*t+e.source[e.sourceIndex+2],r!==(~t&65535))return xt;for(e.sourceIndex+=4,a=r;a;--a)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,Sr}function Sa(e,r){var t=new da(e,r),a,n,s;do{switch(a=ya(t),n=ie(t,2,0),n){case 0:s=ba(t);break;case 1:s=Mr(t,bt,St);break;case 2:xa(t,t.ltree,t.dtree),s=Mr(t,t.ltree,t.dtree);break;default:s=xt}if(s!==Sr)throw new Error("Data error")}while(!a);return t.destLenthis.x2&&(this.x2=e)),typeof r=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=r,this.y2=r),rthis.y2&&(this.y2=r))};pe.prototype.addX=function(e){this.addPoint(e,null)};pe.prototype.addY=function(e){this.addPoint(null,e)};pe.prototype.addBezier=function(e,r,t,a,n,s,i,u){var o=[e,r],l=[t,a],f=[n,s],h=[i,u];this.addPoint(e,r),this.addPoint(i,u);for(var p=0;p<=1;p++){var c=6*o[p]-12*l[p]+6*f[p],d=-3*o[p]+9*l[p]-9*f[p]+3*h[p],x=3*l[p]-3*o[p];if(d===0){if(c===0)continue;var m=-x/c;0=0&&o>0&&(u+=" "),u+=r(l)}return u}for(var a="",n=0;n=0&&e<=255,"Byte value should be between 0 and 255."),[e]};E.BYTE=ae(1);g.CHAR=function(e){return[e.charCodeAt(0)]};E.CHAR=ae(1);g.CHARARRAY=function(e){typeof e>"u"&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var r=[],t=0;t"u"?0:e.length};g.USHORT=function(e){return[e>>8&255,e&255]};E.USHORT=ae(2);g.SHORT=function(e){return e>=Gr&&(e=-(2*Gr-e)),[e>>8&255,e&255]};E.SHORT=ae(2);g.UINT24=function(e){return[e>>16&255,e>>8&255,e&255]};E.UINT24=ae(3);g.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]};E.ULONG=ae(4);g.LONG=function(e){return e>=Nr&&(e=-(2*Nr-e)),[e>>24&255,e>>16&255,e>>8&255,e&255]};E.LONG=ae(4);g.FIXED=g.ULONG;E.FIXED=E.ULONG;g.FWORD=g.SHORT;E.FWORD=E.SHORT;g.UFWORD=g.USHORT;E.UFWORD=E.USHORT;g.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,e&255]};E.LONGDATETIME=ae(8);g.TAG=function(e){return U.argument(e.length===4,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]};E.TAG=ae(4);g.Card8=g.BYTE;E.Card8=E.BYTE;g.Card16=g.USHORT;E.Card16=E.USHORT;g.OffSize=g.BYTE;E.OffSize=E.BYTE;g.SID=g.USHORT;E.SID=E.USHORT;g.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?(e=e-108,[(e>>8)+247,e&255]):e>=-1131&&e<=-108?(e=-e-108,[(e>>8)+251,e&255]):e>=-32768&&e<=32767?g.NUMBER16(e):g.NUMBER32(e)};E.NUMBER=function(e){return g.NUMBER(e).length};g.NUMBER16=function(e){return[28,e>>8&255,e&255]};E.NUMBER16=ae(3);g.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,e&255]};E.NUMBER32=ae(5);g.REAL=function(e){var r=e.toString(),t=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(r);if(t){var a=parseFloat("1e"+((t[2]?+t[2]:0)+t[1].length));r=(Math.round(e*a)/a).toString()}for(var n="",s=0,i=r.length;s>8&255,r[r.length]=a&255}return r};E.UTF16=function(e){return e.length*2};var cr={"x-mac-croatian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u03A9\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uF8FF\xA9\u2044\u20AC\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7","x-mac-cyrillic":"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E","x-mac-gaelic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u1E02\xB1\u2264\u2265\u1E03\u010A\u010B\u1E0A\u1E0B\u1E1E\u1E1F\u0120\u0121\u1E40\xE6\xF8\u1E41\u1E56\u1E57\u027C\u0192\u017F\u1E60\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\u1E61\u1E9B\xFF\u0178\u1E6A\u20AC\u2039\u203A\u0176\u0177\u1E6B\xB7\u1EF2\u1EF3\u204A\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u2663\xD2\xDA\xDB\xD9\u0131\xDD\xFD\u0174\u0175\u1E84\u1E85\u1E80\u1E81\u1E82\u1E83","x-mac-greek":"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\u20AC\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\xB7\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\xAD","x-mac-icelandic":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-inuit":"\u1403\u1404\u1405\u1406\u140A\u140B\u1431\u1432\u1433\u1434\u1438\u1439\u1449\u144E\u144F\u1450\u1451\u1455\u1456\u1466\u146D\u146E\u146F\u1470\u1472\u1473\u1483\u148B\u148C\u148D\u148E\u1490\u1491\xB0\u14A1\u14A5\u14A6\u2022\xB6\u14A7\xAE\xA9\u2122\u14A8\u14AA\u14AB\u14BB\u14C2\u14C3\u14C4\u14C5\u14C7\u14C8\u14D0\u14EF\u14F0\u14F1\u14F2\u14F4\u14F5\u1505\u14D5\u14D6\u14D7\u14D8\u14DA\u14DB\u14EA\u1528\u1529\u152A\u152B\u152D\u2026\xA0\u152E\u153E\u1555\u1556\u1557\u2013\u2014\u201C\u201D\u2018\u2019\u1558\u1559\u155A\u155D\u1546\u1547\u1548\u1549\u154B\u154C\u1550\u157F\u1580\u1581\u1582\u1583\u1584\u1585\u158F\u1590\u1591\u1592\u1593\u1594\u1595\u1671\u1672\u1673\u1674\u1675\u1676\u1596\u15A0\u15A1\u15A2\u15A3\u15A4\u15A5\u15A6\u157C\u0141\u0142","x-mac-ce":"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7",macintosh:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-romanian":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u0218\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\u0103\u0219\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\u20AC\u2039\u203A\u021A\u021B\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7","x-mac-turkish":"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u03A9\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uF8FF\xD2\xDA\xDB\xD9\uF8A0\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"};Fe.MACSTRING=function(e,r,t,a){var n=cr[a];if(n!==void 0){for(var s="",i=0;i=128&&(s=t[s],s===void 0))return;a[n]=s}return a}};E.MACSTRING=function(e,r){var t=g.MACSTRING(e,r);return t!==void 0?t.length:0};function vr(e){return e>=-128&&e<=127}function Fa(e,r,t){for(var a=0,n=e.length;r>8&255,o+256&255)}return s}g.VARDELTAS=function(e){for(var r=0,t=[];r=-128&&a<=127?r=Ua(e,r,t):r=Ca(e,r,t)}return t};g.INDEX=function(e){for(var r=1,t=[r],a=[],n=0;n>8,r[h+1]=p&255,r=r.concat(a[f])}return r};E.TABLE=function(e){for(var r=0,t=e.fields.length,a=0;a0)return new v(this.data,this.offset+r).parseStruct(e)};v.prototype.parsePointer32=function(e){var r=this.parseOffset32();if(r>0)return new v(this.data,this.offset+r).parseStruct(e)};v.prototype.parseListOfLists=function(e){for(var r=this.parseOffset16List(),t=r.length,a=this.relativeOffset,n=new Array(t),s=0;s>1,r.skip("uShort",3),e.glyphIndexMap={};for(var i=new k.Parser(t,a+n+14),u=new k.Parser(t,a+n+16+s*2),o=new k.Parser(t,a+n+16+s*4),l=new k.Parser(t,a+n+16+s*6),f=a+n+16+s*8,h=0;h=0;n-=1){var s=k.getUShort(e,r+4+n*8),i=k.getUShort(e,r+4+n*8+2);if(s===3&&(i===0||i===1||i===10)||s===0&&(i===0||i===1||i===2||i===3||i===4)){a=k.getULong(e,r+4+n*8+4);break}}if(a===-1)throw new Error("No valid cmap sub-tables found.");var u=new k.Parser(e,r+a);if(t.format=u.parseUShort(),t.format===12)Aa(t,u);else if(t.format===4)Ba(t,u,e,r,a);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+t.format+").");return t}function Ma(e,r,t){e.segments.push({end:r,start:r,delta:-(r-t),offset:0,glyphIndex:t})}function Pa(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Ga(e){var r=!0,t;for(t=e.length-1;t>0;t-=1){var a=e.get(t);if(a.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:12+8}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var s=new b.Table("cmap",n);for(s.segments=[],t=0;t>4,i=n&15;if(s===t||(r+=a[s],i===t))break;r+=a[i]}return parseFloat(r)}function ja(e,r){var t,a,n,s;if(r===28)return t=e.parseByte(),a=e.parseByte(),t<<8|a;if(r===29)return t=e.parseByte(),a=e.parseByte(),n=e.parseByte(),s=e.parseByte(),t<<24|a<<16|n<<8|s;if(r===30)return Ja(e);if(r>=32&&r<=246)return r-139;if(r>=247&&r<=250)return t=e.parseByte(),(r-247)*256+t+108;if(r>=251&&r<=254)return t=e.parseByte(),-(r-251)*256-t-108;throw new Error("Invalid b0 "+r)}function $a(e){for(var r={},t=0;t>1,o.length=0,f=!0}function L(F){for(var G,Y,Z,j,$,M,N,W,_,V,H,X,A=0;A1&&!f&&(R=o.shift()+y,f=!0),c+=o.pop(),O(p,c);break;case 5:for(;o.length>0;)p+=o.shift(),c+=o.shift(),u.lineTo(p,c);break;case 6:for(;o.length>0&&(p+=o.shift(),u.lineTo(p,c),o.length!==0);)c+=o.shift(),u.lineTo(p,c);break;case 7:for(;o.length>0&&(c+=o.shift(),u.lineTo(p,c),o.length!==0);)p+=o.shift(),u.lineTo(p,c);break;case 8:for(;o.length>0;)a=p+o.shift(),n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),p=s+o.shift(),c=i+o.shift(),u.curveTo(a,n,s,i,p,c);break;case 10:$=o.pop()+x,M=d[$],M&&L(M);break;case 11:return;case 12:switch(q=F[A],A+=1,q){case 35:a=p+o.shift(),n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),N=s+o.shift(),W=i+o.shift(),_=N+o.shift(),V=W+o.shift(),H=_+o.shift(),X=V+o.shift(),p=H+o.shift(),c=X+o.shift(),o.shift(),u.curveTo(a,n,s,i,N,W),u.curveTo(_,V,H,X,p,c);break;case 34:a=p+o.shift(),n=c,s=a+o.shift(),i=n+o.shift(),N=s+o.shift(),W=i,_=N+o.shift(),V=i,H=_+o.shift(),X=c,p=H+o.shift(),u.curveTo(a,n,s,i,N,W),u.curveTo(_,V,H,X,p,c);break;case 36:a=p+o.shift(),n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),N=s+o.shift(),W=i,_=N+o.shift(),V=i,H=_+o.shift(),X=V+o.shift(),p=H+o.shift(),u.curveTo(a,n,s,i,N,W),u.curveTo(_,V,H,X,p,c);break;case 37:a=p+o.shift(),n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),N=s+o.shift(),W=i+o.shift(),_=N+o.shift(),V=W+o.shift(),H=_+o.shift(),X=V+o.shift(),Math.abs(H-p)>Math.abs(X-c)?p=H+o.shift():c=X+o.shift(),u.curveTo(a,n,s,i,N,W),u.curveTo(_,V,H,X,p,c);break;default:console.log("Glyph "+r.index+": unknown operator "+1200+q),o.length=0}break;case 14:o.length>0&&!f&&(R=o.shift()+y,f=!0),h&&(u.closePath(),h=!1);break;case 18:D();break;case 19:case 20:D(),A+=l+7>>3;break;case 21:o.length>2&&!f&&(R=o.shift()+y,f=!0),c+=o.pop(),p+=o.pop(),O(p,c);break;case 22:o.length>1&&!f&&(R=o.shift()+y,f=!0),p+=o.pop(),O(p,c);break;case 23:D();break;case 24:for(;o.length>2;)a=p+o.shift(),n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),p=s+o.shift(),c=i+o.shift(),u.curveTo(a,n,s,i,p,c);p+=o.shift(),c+=o.shift(),u.lineTo(p,c);break;case 25:for(;o.length>6;)p+=o.shift(),c+=o.shift(),u.lineTo(p,c);a=p+o.shift(),n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),p=s+o.shift(),c=i+o.shift(),u.curveTo(a,n,s,i,p,c);break;case 26:for(o.length%2&&(p+=o.shift());o.length>0;)a=p,n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),p=s,c=i+o.shift(),u.curveTo(a,n,s,i,p,c);break;case 27:for(o.length%2&&(c+=o.shift());o.length>0;)a=p+o.shift(),n=c,s=a+o.shift(),i=n+o.shift(),p=s+o.shift(),c=i,u.curveTo(a,n,s,i,p,c);break;case 28:G=F[A],Y=F[A+1],o.push((G<<24|Y<<16)>>16),A+=2;break;case 29:$=o.pop()+e.gsubrsBias,M=e.gsubrs[$],M&&L(M);break;case 30:for(;o.length>0&&(a=p,n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),p=s+o.shift(),c=i+(o.length===1?o.shift():0),u.curveTo(a,n,s,i,p,c),o.length!==0);)a=p+o.shift(),n=c,s=a+o.shift(),i=n+o.shift(),c=i+o.shift(),p=s+(o.length===1?o.shift():0),u.curveTo(a,n,s,i,p,c);break;case 31:for(;o.length>0&&(a=p+o.shift(),n=c,s=a+o.shift(),i=n+o.shift(),c=i+o.shift(),p=s+(o.length===1?o.shift():0),u.curveTo(a,n,s,i,p,c),o.length!==0);)a=p,n=c+o.shift(),s=a+o.shift(),i=n+o.shift(),p=s+o.shift(),c=i+(o.length===1?o.shift():0),u.curveTo(a,n,s,i,p,c);break;default:q<32?console.log("Glyph "+r.index+": unknown operator "+q):q<247?o.push(q-139):q<251?(G=F[A],A+=1,o.push((q-247)*256+G+108)):q<255?(G=F[A],A+=1,o.push(-(q-251)*256-G-108)):(G=F[A],Y=F[A+1],Z=F[A+2],j=F[A+3],A+=4,o.push((G<<24|Y<<16|Z<<8|j)/65536))}}}return L(t),r.advanceWidth=R,u}function nn(e,r,t,a){var n=[],s,i=new k.Parser(e,r),u=i.parseCard8();if(u===0)for(var o=0;o=a)throw new Error("CFF table CID Font FDSelect has bad FD index value "+s+" (FD count "+a+")");n.push(s)}else if(u===3){var l=i.parseCard16(),f=i.parseCard16();if(f!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+f);for(var h,p=0;p=a)throw new Error("CFF table CID Font FDSelect has bad FD index value "+s+" (FD count "+a+")");if(h>t)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+h);for(;f=0&&(t=a),a=r.indexOf(e),a>=0?t=a+qe.length:(t=qe.length+r.length,r.push(e)),t}function on(){return new b.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function un(e){var r=new b.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);r.names=[];for(var t=0;t=t.begin&&e=1&&(t.ulCodePageRange1=a.parseULong(),t.ulCodePageRange2=a.parseULong()),t.version>=2&&(t.sxHeight=a.parseShort(),t.sCapHeight=a.parseShort(),t.usDefaultChar=a.parseUShort(),t.usBreakChar=a.parseUShort(),t.usMaxContent=a.parseUShort()),t}function Pn(e){return new b.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var xr={parse:Mn,make:Pn,unicodeRanges:yr,getUnicodeRange:In};function Gn(e,r){var t={},a=new k.Parser(e,r);switch(t.version=a.parseVersion(),t.italicAngle=a.parseFixed(),t.underlinePosition=a.parseShort(),t.underlineThickness=a.parseShort(),t.isFixedPitch=a.parseULong(),t.minMemType42=a.parseULong(),t.maxMemType42=a.parseULong(),t.minMemType1=a.parseULong(),t.maxMemType1=a.parseULong(),t.version){case 1:t.names=xe.slice();break;case 2:t.numberOfGlyphs=a.parseUShort(),t.glyphNameIndex=new Array(t.numberOfGlyphs);for(var n=0;n=xe.length){var i=a.parseChar();t.names.push(a.parseString(i))}break;case 2.5:t.numberOfGlyphs=a.parseUShort(),t.offset=new Array(t.numberOfGlyphs);for(var u=0;uh.value.tag?1:-1}),r.fields=r.fields.concat(a),r.fields=r.fields.concat(n),r}function Kr(e,r,t){for(var a=0;a0){var s=e.glyphs.get(n);return s.getMetrics()}}return t}function Vn(e){for(var r=0,t=0;tm||o===void 0)&&m>0&&(o=m),l 123 are reserved for internal usage");if(x.name!==".notdef"){var C=x.getMetrics();r.push(C.xMin),t.push(C.yMin),a.push(C.xMax),n.push(C.yMax),i.push(C.leftSideBearing),u.push(C.rightSideBearing),s.push(x.advanceWidth)}}var S={xMin:Math.min.apply(null,r),yMin:Math.min.apply(null,t),xMax:Math.max.apply(null,a),yMax:Math.max.apply(null,n),advanceWidthMax:Math.max.apply(null,s),advanceWidthAvg:Vn(s),minLeftSideBearing:Math.min.apply(null,i),maxLeftSideBearing:Math.max.apply(null,i),minRightSideBearing:Math.min.apply(null,u)};S.ascender=e.ascender,S.descender=e.descender;var R=Nt.make({flags:3,unitsPerEm:e.unitsPerEm,xMin:S.xMin,yMin:S.yMin,xMax:S.xMax,yMax:S.yMax,lowestRecPPEM:3,createdTimestamp:e.createdTimestamp}),O=Ht.make({ascender:S.ascender,descender:S.descender,advanceWidthMax:S.advanceWidthMax,minLeftSideBearing:S.minLeftSideBearing,minRightSideBearing:S.minRightSideBearing,xMaxExtent:S.maxLeftSideBearing+(S.xMax-S.xMin),numberOfHMetrics:e.glyphs.length}),D=_t.make(e.glyphs.length),L=xr.make(Object.assign({xAvgCharWidth:Math.round(S.advanceWidthAvg),usFirstCharIndex:o,usLastCharIndex:l,ulUnicodeRange1:f,ulUnicodeRange2:h,ulUnicodeRange3:p,ulUnicodeRange4:c,sTypoAscender:S.ascender,sTypoDescender:S.descender,sTypoLineGap:0,usWinAscent:S.yMax,usWinDescent:Math.abs(S.yMin),ulCodePageRange1:1,sxHeight:Kr(e,"xyvw",{yMax:Math.round(S.ascender/2)}).yMax,sCapHeight:Kr(e,"HIKLEFJMNTZBDPRAGOQSUVWXY",S).yMax,usDefaultChar:e.hasChar(" ")?32:0,usBreakChar:e.hasChar(" ")?32:0},e.tables.os2)),F=zt.make(e.glyphs),G=Et.make(e.glyphs),Y=e.getEnglishName("fontFamily"),Z=e.getEnglishName("fontSubfamily"),j=Y+" "+Z,$=e.getEnglishName("postScriptName");$||($=Y.replace(/\s/g,"")+"-"+Z);var M={};for(var N in e.names)M[N]=e.names[N];M.uniqueID||(M.uniqueID={en:e.getEnglishName("manufacturer")+":"+j}),M.postScriptName||(M.postScriptName={en:$}),M.preferredFamily||(M.preferredFamily=e.names.fontFamily),M.preferredSubfamily||(M.preferredSubfamily=e.names.fontSubfamily);var W=[],_=Zt.make(M,W),V=W.length>0?Wt.make(W):void 0,H=Qt.make(),X=Gt.make(e.glyphs,{version:e.getEnglishName("version"),fullName:j,familyName:Y,weightName:Z,postScriptName:$,unitsPerEm:e.unitsPerEm,fontBBox:[0,S.yMin,S.ascender,S.advanceWidthMax]}),A=e.metas&&Object.keys(e.metas).length>0?Jt.make(e.metas):void 0,q=[R,O,D,L,_,G,H,X,F];V&&q.push(V),e.tables.gsub&&q.push(Kt.make(e.tables.gsub)),A&&q.push(A);for(var rr=jt(q),ha=rr.encode(),ca=Er(ha),tr=rr.fields,Ar=!1,Ge=0;Ge>>1,s=e[n].tag;if(s===r)return n;s>>1,s=e[n];if(s===r)return n;s>>1;t=e[s];var i=t.start;if(i===r)return t;i0)return t=e[a-1],r>t.end?0:t}function Ae(e,r){this.font=e,this.tableName=r}Ae.prototype={searchTag:sr,binSearch:Jr,getTable:function(e){var r=this.font.tables[this.tableName];return!r&&e&&(r=this.font.tables[this.tableName]=this.createDefaultTable()),r},getScriptNames:function(){var e=this.getTable();return e?e.scripts.map(function(r){return r.tag}):[]},getDefaultScriptName:function(){var e=this.getTable();if(!!e){for(var r=!1,t=0;t=0)return a[n].script;if(r){var s={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return a.splice(-1-n,0,s),s.script}}},getLangSysTable:function(e,r,t){var a=this.getScriptTable(e,t);if(a){if(!r||r==="dflt"||r==="DFLT")return a.defaultLangSys;var n=sr(a.langSysRecords,r);if(n>=0)return a.langSysRecords[n].langSys;if(t){var s={tag:r,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return a.langSysRecords.splice(-1-n,0,s),s.langSys}}},getFeatureTable:function(e,r,t,a){var n=this.getLangSysTable(e,r,a);if(n){for(var s,i=n.featureIndexes,u=this.font.tables[this.tableName].features,o=0;o=u[l-1].tag,"Features must be added in alphabetical order."),s={tag:t,feature:{params:0,lookupListIndexes:[]}},u.push(s),i.push(l),s.feature}}},getLookupTables:function(e,r,t,a,n){var s=this.getFeatureTable(e,r,t,n),i=[];if(s){for(var u,o=s.lookupListIndexes,l=this.font.tables[this.tableName].lookups,f=0;f=0?t:-1;case 2:var a=jr(e.ranges,r);return a?a.index+r-a.start:-1}},expandCoverage:function(e){if(e.format===1)return e.glyphs;for(var r=[],t=e.ranges,a=0;a1,'Multiple: "by" must be an array of two or more ids');var n=this.getLookupTables(t,a,e,2,!0)[0],s=Or(n,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});U.assert(s.coverage.format===1,"Multiple: unable to modify coverage table format "+s.coverage.format);var i=r.sub,u=this.binSearch(s.coverage.glyphs,i);u<0&&(u=-1-u,s.coverage.glyphs.splice(u,0,i),s.sequences.splice(u,0,0)),s.sequences[u]=r.by};K.prototype.addAlternate=function(e,r,t,a){var n=this.getLookupTables(t,a,e,3,!0)[0],s=Or(n,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});U.assert(s.coverage.format===1,"Alternate: unable to modify coverage table format "+s.coverage.format);var i=r.sub,u=this.binSearch(s.coverage.glyphs,i);u<0&&(u=-1-u,s.coverage.glyphs.splice(u,0,i),s.alternateSets.splice(u,0,0)),s.alternateSets[u]=r.by};K.prototype.addLigature=function(e,r,t,a){var n=this.getLookupTables(t,a,e,4,!0)[0],s=n.subtables[0];s||(s={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},n.subtables[0]=s),U.assert(s.coverage.format===1,"Ligature: unable to modify coverage table format "+s.coverage.format);var i=r.sub[0],u=r.sub.slice(1),o={ligGlyph:r.by,components:u},l=this.binSearch(s.coverage.glyphs,i);if(l>=0){for(var f=s.ligatureSets[l],h=0;h0?(s=e.parseByte(),(r&n)===0&&(s=-s),s=t+s):(r&n)>0?s=t:s=t+e.parseShort(),s}function ea(e,r,t){var a=new k.Parser(r,t);e.numberOfContours=a.parseShort(),e._xMin=a.parseShort(),e._yMin=a.parseShort(),e._xMax=a.parseShort(),e._yMax=a.parseShort();var n,s;if(e.numberOfContours>0){for(var i=e.endPointIndices=[],u=0;u0)for(var h=a.parseByte(),p=0;p0){var c=[],d;if(l>0){for(var x=0;x=0,c.push(d);for(var m=0,y=0;y0?(n&2)>0?(O.dx=a.parseShort(),O.dy=a.parseShort()):O.matchedPoints=[a.parseUShort(),a.parseUShort()]:(n&2)>0?(O.dx=a.parseChar(),O.dy=a.parseChar()):O.matchedPoints=[a.parseByte(),a.parseByte()],(n&8)>0?O.xScale=O.yScale=a.parseF2Dot14():(n&64)>0?(O.xScale=a.parseF2Dot14(),O.yScale=a.parseF2Dot14()):(n&128)>0&&(O.xScale=a.parseF2Dot14(),O.scale01=a.parseF2Dot14(),O.scale10=a.parseF2Dot14(),O.yScale=a.parseF2Dot14()),e.components.push(O),R=!!(n&32)}if(n&256){e.instructionLength=a.parseUShort(),e.instructions=[];for(var D=0;Dr.points.length-1||a.matchedPoints[1]>n.points.length-1)throw Error("Matched points out of range in "+r.name);var i=r.points[a.matchedPoints[0]],u=n.points[a.matchedPoints[1]],o={xScale:a.xScale,scale01:a.scale01,scale10:a.scale10,yScale:a.yScale,dx:0,dy:0};u=ir([u],o)[0],o.dx=i.x-u.x,o.dy=i.y-u.y,s=ir(n.points,o)}r.points=r.points.concat(s)}}return ra(r.points)}function Jn(e,r,t,a){for(var n=new ue.GlyphSet(a),s=0;s2)){var t=this.font,a=this._prepState;if(!a||a.ppem!==r){var n=this._fpgmState;if(!n){de.prototype=ss,n=this._fpgmState=new de("fpgm",t.tables.fpgm),n.funcs=[],n.font=t,exports.DEBUG&&(console.log("---EXEC FPGM---"),n.step=-1);try{Se(n)}catch(l){console.log("Hinting error in FPGM:"+l),this._errorState=3;return}}de.prototype=n,a=this._prepState=new de("prep",t.tables.prep),a.ppem=r;var s=t.tables.cvt;if(s)for(var i=a.cvt=new Array(s.length),u=r/t.unitsPerEm,o=0;o1))try{return sa(e,a)}catch(l){this._errorState<1&&(console.log("Hinting error:"+l),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};sa=function(e,r){var t=r.ppem/r.font.unitsPerEm,a=t,n=e.components,s,i,u;if(de.prototype=r,!n)u=new de("glyf",e.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),u.step=-1),br(e,u,t,a),i=u.gZone;else{var o=r.font;i=[],s=[];for(var l=0;l=176&&s<=183)a+=s-176+1;else if(s>=184&&s<=191)a+=(s-184+1)*2;else if(r&&n===1&&s===27)break;while(n>0);e.ip=a}function et(e,r){exports.DEBUG&&console.log(r.step,"SVTCA["+e.axis+"]"),r.fv=r.pv=r.dpv=e}function rt(e,r){exports.DEBUG&&console.log(r.step,"SPVTCA["+e.axis+"]"),r.pv=r.dpv=e}function tt(e,r){exports.DEBUG&&console.log(r.step,"SFVTCA["+e.axis+"]"),r.fv=e}function at(e,r){var t=r.stack,a=t.pop(),n=t.pop(),s=r.z2[a],i=r.z1[n];exports.DEBUG&&console.log("SPVTL["+e+"]",a,n);var u,o;e?(u=s.y-i.y,o=i.x-s.x):(u=i.x-s.x,o=i.y-s.y),r.pv=r.dpv=Me(u,o)}function nt(e,r){var t=r.stack,a=t.pop(),n=t.pop(),s=r.z2[a],i=r.z1[n];exports.DEBUG&&console.log("SFVTL["+e+"]",a,n);var u,o;e?(u=s.y-i.y,o=i.x-s.x):(u=i.x-s.x,o=i.y-s.y),r.fv=Me(u,o)}function is(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",t,a),e.pv=e.dpv=Me(a,t)}function os(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"SPVFS[]",t,a),e.fv=Me(a,t)}function us(e){var r=e.stack,t=e.pv;exports.DEBUG&&console.log(e.step,"GPV[]"),r.push(t.x*16384),r.push(t.y*16384)}function ls(e){var r=e.stack,t=e.fv;exports.DEBUG&&console.log(e.step,"GFV[]"),r.push(t.x*16384),r.push(t.y*16384)}function fs(e){e.fv=e.pv,exports.DEBUG&&console.log(e.step,"SFVTPV[]")}function ps(e){var r=e.stack,t=r.pop(),a=r.pop(),n=r.pop(),s=r.pop(),i=r.pop(),u=e.z0,o=e.z1,l=u[t],f=u[a],h=o[n],p=o[s],c=e.z2[i];exports.DEBUG&&console.log("ISECT[], ",t,a,n,s,i);var d=l.x,x=l.y,m=f.x,y=f.y,C=h.x,S=h.y,R=p.x,O=p.y,D=(d-m)*(S-O)-(x-y)*(C-R),L=d*y-x*m,F=C*O-S*R;c.x=(L*(C-R)-F*(d-m))/D,c.y=(L*(S-O)-F*(x-y))/D}function hs(e){e.rp0=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP0[]",e.rp0)}function cs(e){e.rp1=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP1[]",e.rp1)}function vs(e){e.rp2=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SRP2[]",e.rp2)}function ds(e){var r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP0[]",r),e.zp0=r,r){case 0:e.tZone||$e(e),e.z0=e.tZone;break;case 1:e.z0=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function gs(e){var r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP1[]",r),e.zp1=r,r){case 0:e.tZone||$e(e),e.z1=e.tZone;break;case 1:e.z1=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function ms(e){var r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZP2[]",r),e.zp2=r,r){case 0:e.tZone||$e(e),e.z2=e.tZone;break;case 1:e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function ys(e){var r=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"SZPS[]",r),e.zp0=e.zp1=e.zp2=r,r){case 0:e.tZone||$e(e),e.z0=e.z1=e.z2=e.tZone;break;case 1:e.z0=e.z1=e.z2=e.gZone;break;default:throw new Error("Invalid zone pointer")}}function xs(e){e.loop=e.stack.pop(),exports.DEBUG&&console.log(e.step,"SLOOP[]",e.loop)}function bs(e){exports.DEBUG&&console.log(e.step,"RTG[]"),e.round=oa}function Ss(e){exports.DEBUG&&console.log(e.step,"RTHG[]"),e.round=ts}function Ts(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"SMD[]",r),e.minDis=r/64}function ks(e){exports.DEBUG&&console.log(e.step,"ELSE[]"),la(e,!1)}function Fs(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"JMPR[]",r),e.ip+=r-1}function Us(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCVTCI[]",r),e.cvCutIn=r/64}function Cs(e){var r=e.stack;exports.DEBUG&&console.log(e.step,"DUP[]"),r.push(r[r.length-1])}function or(e){exports.DEBUG&&console.log(e.step,"POP[]"),e.stack.pop()}function Es(e){exports.DEBUG&&console.log(e.step,"CLEAR[]"),e.stack.length=0}function Os(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"SWAP[]"),r.push(t),r.push(a)}function Ls(e){var r=e.stack;exports.DEBUG&&console.log(e.step,"DEPTH[]"),r.push(r.length)}function Rs(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"LOOPCALL[]",t,a);var n=e.ip,s=e.prog;e.prog=e.funcs[t];for(var i=0;i1?"loop "+(r.loop-u)+": ":"")+"SHP["+(e?"rp1":"rp2")+"]",l)}r.loop=1}function ut(e,r){var t=r.stack,a=e?r.rp1:r.rp2,n=(e?r.z0:r.z1)[a],s=r.fv,i=r.pv,u=t.pop(),o=r.z2[r.contours[u]],l=o;exports.DEBUG&&console.log(r.step,"SHC["+e+"]",u);var f=i.distance(n,n,!1,!0);do l!==n&&s.setRelative(l,l,f,i),l=l.nextPointOnContour;while(l!==o)}function lt(e,r){var t=r.stack,a=e?r.rp1:r.rp2,n=(e?r.z0:r.z1)[a],s=r.fv,i=r.pv,u=t.pop();exports.DEBUG&&console.log(r.step,"SHZ["+e+"]",u);var o;switch(u){case 0:o=r.tZone;break;case 1:o=r.gZone;break;default:throw new Error("Invalid zone")}for(var l,f=i.distance(n,n,!1,!0),h=o.length-2,p=0;p1?"loop "+(e.loop-t)+": ":"")+"SHPIX[]",i,n),a.setRelative(u,u,n),a.touch(u)}e.loop=1}function Ms(e){for(var r=e.stack,t=e.rp1,a=e.rp2,n=e.loop,s=e.z0[t],i=e.z1[a],u=e.fv,o=e.dpv,l=e.z2;n--;){var f=r.pop(),h=l[f];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-n)+": ":"")+"IP[]",f,t,"<->",a),u.interpolate(h,s,i,o),u.touch(h)}e.loop=1}function ft(e,r){var t=r.stack,a=t.pop()/64,n=t.pop(),s=r.z1[n],i=r.z0[r.rp0],u=r.fv,o=r.pv;u.setRelative(s,i,a,o),u.touch(s),exports.DEBUG&&console.log(r.step,"MSIRP["+e+"]",a,n),r.rp1=r.rp0,r.rp2=n,e&&(r.rp0=n)}function Ps(e){for(var r=e.stack,t=e.rp0,a=e.z0[t],n=e.loop,s=e.fv,i=e.pv,u=e.z1;n--;){var o=r.pop(),l=u[o];exports.DEBUG&&console.log(e.step,(e.loop>1?"loop "+(e.loop-n)+": ":"")+"ALIGNRP[]",o),s.setRelative(l,a,0,i),s.touch(l)}e.loop=1}function Gs(e){exports.DEBUG&&console.log(e.step,"RTDG[]"),e.round=rs}function pt(e,r){var t=r.stack,a=t.pop(),n=t.pop(),s=r.z0[n],i=r.fv,u=r.pv,o=r.cvt[a];exports.DEBUG&&console.log(r.step,"MIAP["+e+"]",a,"(",o,")",n);var l=u.distance(s,De);e&&(Math.abs(l-o)",u),r.stack.push(Math.round(u*64))}function qs(e){exports.DEBUG&&console.log(e.step,"MPPEM[]"),e.stack.push(e.ppem)}function Xs(e){exports.DEBUG&&console.log(e.step,"FLIPON[]"),e.autoFlip=!0}function Ys(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"LT[]",t,a),r.push(at?1:0)}function Ks(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"GTEQ[]",t,a),r.push(a>=t?1:0)}function Js(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"EQ[]",t,a),r.push(t===a?1:0)}function js(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"NEQ[]",t,a),r.push(t!==a?1:0)}function $s(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"ODD[]",t),r.push(Math.trunc(t)%2?1:0)}function ei(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"EVEN[]",t),r.push(Math.trunc(t)%2?0:1)}function ri(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"IF[]",r),r||(la(e,!0),exports.DEBUG&&console.log(e.step,"EIF[]"))}function ti(e){exports.DEBUG&&console.log(e.step,"EIF[]")}function ai(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"AND[]",t,a),r.push(t&&a?1:0)}function ni(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"OR[]",t,a),r.push(t||a?1:0)}function si(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"NOT[]",t),r.push(t?0:1)}function ur(e,r){var t=r.stack,a=t.pop(),n=r.fv,s=r.pv,i=r.ppem,u=r.deltaBase+(e-1)*16,o=r.deltaShift,l=r.z0;exports.DEBUG&&console.log(r.step,"DELTAP["+e+"]",a,t);for(var f=0;f>4);if(c===i){var d=(p&15)-8;d>=0&&d++,exports.DEBUG&&console.log(r.step,"DELTAPFIX",h,"by",d*o);var x=l[h];n.setRelative(x,x,d*o,s)}}}function ii(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"SDB[]",t),e.deltaBase=t}function oi(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"SDS[]",t),e.deltaShift=Math.pow(.5,t)}function ui(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"ADD[]",t,a),r.push(a+t)}function li(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"SUB[]",t,a),r.push(a-t)}function fi(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"DIV[]",t,a),r.push(a*64/t)}function pi(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"MUL[]",t,a),r.push(a*t/64)}function hi(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"ABS[]",t),r.push(Math.abs(t))}function ci(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"NEG[]",t),r.push(-t)}function vi(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"FLOOR[]",t),r.push(Math.floor(t/64)*64)}function di(e){var r=e.stack,t=r.pop();exports.DEBUG&&console.log(e.step,"CEILING[]",t),r.push(Math.ceil(t/64)*64)}function Ve(e,r){var t=r.stack,a=t.pop();exports.DEBUG&&console.log(r.step,"ROUND[]"),t.push(r.round(a/64)*64)}function gi(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"WCVTF[]",t,a),e.cvt[a]=t*e.ppem/e.font.unitsPerEm}function lr(e,r){var t=r.stack,a=t.pop(),n=r.ppem,s=r.deltaBase+(e-1)*16,i=r.deltaShift;exports.DEBUG&&console.log(r.step,"DELTAC["+e+"]",a,t);for(var u=0;u>4);if(f===n){var h=(l&15)-8;h>=0&&h++;var p=h*i;exports.DEBUG&&console.log(r.step,"DELTACFIX",o,"by",p),r.cvt[o]+=p}}}function mi(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"SROUND[]",r),e.round=ua;var t;switch(r&192){case 0:t=.5;break;case 64:t=1;break;case 128:t=2;break;default:throw new Error("invalid SROUND value")}switch(e.srPeriod=t,r&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid SROUND value")}r&=15,r===0?e.srThreshold=0:e.srThreshold=(r/8-.5)*t}function yi(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"S45ROUND[]",r),e.round=ua;var t;switch(r&192){case 0:t=Math.sqrt(2)/2;break;case 64:t=Math.sqrt(2);break;case 128:t=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(e.srPeriod=t,r&48){case 0:e.srPhase=0;break;case 16:e.srPhase=.25*t;break;case 32:e.srPhase=.5*t;break;case 48:e.srPhase=.75*t;break;default:throw new Error("invalid S45ROUND value")}r&=15,r===0?e.srThreshold=0:e.srThreshold=(r/8-.5)*t}function xi(e){exports.DEBUG&&console.log(e.step,"ROFF[]"),e.round=es}function bi(e){exports.DEBUG&&console.log(e.step,"RUTG[]"),e.round=as}function Si(e){exports.DEBUG&&console.log(e.step,"RDTG[]"),e.round=ns}function Ti(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANCTRL[]",r)}function vt(e,r){var t=r.stack,a=t.pop(),n=t.pop(),s=r.z2[a],i=r.z1[n];exports.DEBUG&&console.log(r.step,"SDPVTL["+e+"]",a,n);var u,o;e?(u=s.y-i.y,o=i.x-s.x):(u=i.x-s.x,o=i.y-s.y),r.dpv=Me(u,o)}function ki(e){var r=e.stack,t=r.pop(),a=0;exports.DEBUG&&console.log(e.step,"GETINFO[]",t),t&1&&(a=35),t&32&&(a|=4096),r.push(a)}function Fi(e){var r=e.stack,t=r.pop(),a=r.pop(),n=r.pop();exports.DEBUG&&console.log(e.step,"ROLL[]"),r.push(a),r.push(t),r.push(n)}function Ui(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"MAX[]",t,a),r.push(Math.max(a,t))}function Ci(e){var r=e.stack,t=r.pop(),a=r.pop();exports.DEBUG&&console.log(e.step,"MIN[]",t,a),r.push(Math.min(a,t))}function Ei(e){var r=e.stack.pop();exports.DEBUG&&console.log(e.step,"SCANTYPE[]",r)}function Oi(e){var r=e.stack.pop(),t=e.stack.pop();switch(exports.DEBUG&&console.log(e.step,"INSTCTRL[]",r,t),r){case 1:e.inhibitGridFit=!!t;return;case 2:e.ignoreCvt=!!t;return;default:throw new Error("invalid INSTCTRL[] selector")}}function he(e,r){var t=r.stack,a=r.prog,n=r.ip;exports.DEBUG&&console.log(r.step,"PUSHB["+e+"]");for(var s=0;s=0?1:-1,m=Math.abs(m),e&&(C=s.cvt[u],a&&Math.abs(m-C)":"_")+(a?"R":"_")+(n===0?"Gr":n===1?"Bl":n===2?"Wh":"")+"]",e?u+"("+s.cvt[u]+","+C+")":"",o,"(d =",x,"->",y*m,")"),s.rp1=s.rp0,s.rp2=o,r&&(s.rp0=o)}na=[et.bind(void 0,le),et.bind(void 0,oe),rt.bind(void 0,le),rt.bind(void 0,oe),tt.bind(void 0,le),tt.bind(void 0,oe),at.bind(void 0,0),at.bind(void 0,1),nt.bind(void 0,0),nt.bind(void 0,1),is,os,us,ls,fs,ps,hs,cs,vs,ds,gs,ms,ys,xs,bs,Ss,Ts,ks,Fs,Us,void 0,void 0,Cs,or,Es,Os,Ls,Ds,As,void 0,void 0,void 0,Rs,ws,Bs,void 0,st.bind(void 0,0),st.bind(void 0,1),it.bind(void 0,le),it.bind(void 0,oe),ot.bind(void 0,0),ot.bind(void 0,1),ut.bind(void 0,0),ut.bind(void 0,1),lt.bind(void 0,0),lt.bind(void 0,1),Is,Ms,ft.bind(void 0,0),ft.bind(void 0,1),Ps,Gs,pt.bind(void 0,0),pt.bind(void 0,1),Ns,Hs,zs,Ws,_s,Vs,ht.bind(void 0,0),ht.bind(void 0,1),void 0,ct.bind(void 0,0),ct.bind(void 0,1),qs,void 0,Xs,void 0,void 0,Ys,Zs,Qs,Ks,Js,js,$s,ei,ri,ti,ai,ni,si,ur.bind(void 0,1),ii,oi,ui,li,fi,pi,hi,ci,vi,di,Ve.bind(void 0,0),Ve.bind(void 0,1),Ve.bind(void 0,2),Ve.bind(void 0,3),void 0,void 0,void 0,void 0,gi,ur.bind(void 0,2),ur.bind(void 0,3),lr.bind(void 0,1),lr.bind(void 0,2),lr.bind(void 0,3),mi,yi,void 0,void 0,xi,void 0,bi,Si,or,or,void 0,void 0,void 0,void 0,void 0,Ti,vt.bind(void 0,0),vt.bind(void 0,1),ki,void 0,Fi,Ui,Ci,Ei,Oi,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,he.bind(void 0,1),he.bind(void 0,2),he.bind(void 0,3),he.bind(void 0,4),he.bind(void 0,5),he.bind(void 0,6),he.bind(void 0,7),he.bind(void 0,8),ce.bind(void 0,1),ce.bind(void 0,2),ce.bind(void 0,3),ce.bind(void 0,4),ce.bind(void 0,5),ce.bind(void 0,6),ce.bind(void 0,7),ce.bind(void 0,8),T.bind(void 0,0,0,0,0,0),T.bind(void 0,0,0,0,0,1),T.bind(void 0,0,0,0,0,2),T.bind(void 0,0,0,0,0,3),T.bind(void 0,0,0,0,1,0),T.bind(void 0,0,0,0,1,1),T.bind(void 0,0,0,0,1,2),T.bind(void 0,0,0,0,1,3),T.bind(void 0,0,0,1,0,0),T.bind(void 0,0,0,1,0,1),T.bind(void 0,0,0,1,0,2),T.bind(void 0,0,0,1,0,3),T.bind(void 0,0,0,1,1,0),T.bind(void 0,0,0,1,1,1),T.bind(void 0,0,0,1,1,2),T.bind(void 0,0,0,1,1,3),T.bind(void 0,0,1,0,0,0),T.bind(void 0,0,1,0,0,1),T.bind(void 0,0,1,0,0,2),T.bind(void 0,0,1,0,0,3),T.bind(void 0,0,1,0,1,0),T.bind(void 0,0,1,0,1,1),T.bind(void 0,0,1,0,1,2),T.bind(void 0,0,1,0,1,3),T.bind(void 0,0,1,1,0,0),T.bind(void 0,0,1,1,0,1),T.bind(void 0,0,1,1,0,2),T.bind(void 0,0,1,1,0,3),T.bind(void 0,0,1,1,1,0),T.bind(void 0,0,1,1,1,1),T.bind(void 0,0,1,1,1,2),T.bind(void 0,0,1,1,1,3),T.bind(void 0,1,0,0,0,0),T.bind(void 0,1,0,0,0,1),T.bind(void 0,1,0,0,0,2),T.bind(void 0,1,0,0,0,3),T.bind(void 0,1,0,0,1,0),T.bind(void 0,1,0,0,1,1),T.bind(void 0,1,0,0,1,2),T.bind(void 0,1,0,0,1,3),T.bind(void 0,1,0,1,0,0),T.bind(void 0,1,0,1,0,1),T.bind(void 0,1,0,1,0,2),T.bind(void 0,1,0,1,0,3),T.bind(void 0,1,0,1,1,0),T.bind(void 0,1,0,1,1,1),T.bind(void 0,1,0,1,1,2),T.bind(void 0,1,0,1,1,3),T.bind(void 0,1,1,0,0,0),T.bind(void 0,1,1,0,0,1),T.bind(void 0,1,1,0,0,2),T.bind(void 0,1,1,0,0,3),T.bind(void 0,1,1,0,1,0),T.bind(void 0,1,1,0,1,1),T.bind(void 0,1,1,0,1,2),T.bind(void 0,1,1,0,1,3),T.bind(void 0,1,1,1,0,0),T.bind(void 0,1,1,1,0,1),T.bind(void 0,1,1,1,0,2),T.bind(void 0,1,1,1,0,3),T.bind(void 0,1,1,1,1,0),T.bind(void 0,1,1,1,1,1),T.bind(void 0,1,1,1,1,2),T.bind(void 0,1,1,1,1,3)];function Ce(e){this.char=e,this.state={},this.activeState=null}function Lr(e,r,t){this.contextName=t,this.startIndex=e,this.endOffset=r}function Li(e,r,t){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=r,this.checkEnd=t}function re(e,r){this.context=e,this.index=r,this.length=e.length,this.current=e[r],this.backtrack=e.slice(0,r),this.lookahead=e.slice(r+1)}function er(e){this.eventId=e,this.subscribers=[]}function Ri(e){var r=this,t=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];t.forEach(function(n){Object.defineProperty(r.events,n,{value:new er(n)})}),e&&t.forEach(function(n){var s=e[n];typeof s=="function"&&r.events[n].subscribe(s)});var a=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];a.forEach(function(n){r.events[n].subscribe(r.updateContextsRanges)})}function B(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],Ri.call(this,e)}Ce.prototype.setState=function(e,r){return this.state[e]=r,this.activeState={key:e,value:this.state[e]},this.activeState};Ce.prototype.getState=function(e){return this.state[e]||null};B.prototype.inboundIndex=function(e){return e>=0&&e0&&e<=this.lookahead.length):return this.lookahead[e-1];default:return null}};B.prototype.rangeToText=function(e){if(e instanceof Lr)return this.getRangeTokens(e).map(function(r){return r.char}).join("")};B.prototype.getText=function(){return this.tokens.map(function(e){return e.char}).join("")};B.prototype.getContext=function(e){var r=this.registeredContexts[e];return r||null};B.prototype.on=function(e,r){var t=this.events[e];return t?t.subscribe(r):null};B.prototype.dispatch=function(e,r){var t=this,a=this.events[e];a instanceof er&&a.subscribers.forEach(function(n){n.apply(t,r||[])})};B.prototype.registerContextChecker=function(e,r,t){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if(typeof r!="function")return{FAIL:"missing context start check."};if(typeof t!="function")return{FAIL:"missing context end check."};var a=new Li(e,r,t);return this.registeredContexts[e]=a,this.contextCheckers.push(a),a};B.prototype.getRangeTokens=function(e){var r=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,r))};B.prototype.getContextRanges=function(e){var r=this.getContext(e);return r?r.ranges:{FAIL:"context checker '"+e+"' is not registered."}};B.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var r in e)if(e.hasOwnProperty(r)){var t=e[r];t.ranges=[]}};B.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map(function(a){return a.char}),r=0;r=n.start&&e<=n.end){var s=e-n.start;return n.index+s}}break;default:return-1}return-1}function Di(e,r){var t=Pe(e,r.coverage);return t===-1?null:e+r.deltaGlyphId}function Ai(e,r){var t=Pe(e,r.coverage);return t===-1?null:r.substitute[t]}function fr(e,r){for(var t=[],a=0;a=0;t--){var a=r[t],n=fa(a),s=me(a);if(!n&&!s)return!0;if(n)return!1}return!1}function Zi(e){if(fa(e.current))return!1;for(var r=0;r0}t("fontFamily"),t("weightName"),t("manufacturer"),t("copyright"),t("version"),this.unitsPerEm>0};w.prototype.toTables=function(){return Xn.fontToTable(this)};w.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};w.prototype.toArrayBuffer=function(){for(var e=this.toTables(),r=e.encode(),t=new ArrayBuffer(r.length),a=new Uint8Array(t),n=0;n=1.2&&(n.markGlyphSets=t.parsePointer(yo)),n}var bo={parse:xo},te=new Array(10);te[1]=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort();if(t===1)return{posFormat:1,coverage:this.parsePointer(v.coverage),value:this.parseValueRecord()};if(t===2)return{posFormat:2,coverage:this.parsePointer(v.coverage),values:this.parseValueRecordList()};U.assert(!1,"0x"+r.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")};te[2]=function(){var r=this.offset+this.relativeOffset,t=this.parseUShort();U.assert(t===1||t===2,"0x"+r.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var a=this.parsePointer(v.coverage),n=this.parseUShort(),s=this.parseUShort();if(t===1)return{posFormat:t,coverage:a,valueFormat1:n,valueFormat2:s,pairSets:this.parseList(v.pointer(v.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(s)}})))};if(t===2){var i=this.parsePointer(v.classDef),u=this.parsePointer(v.classDef),o=this.parseUShort(),l=this.parseUShort();return{posFormat:t,coverage:a,valueFormat1:n,valueFormat2:s,classDef1:i,classDef2:u,class1Count:o,class2Count:l,classRecords:this.parseList(o,v.list(l,function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(s)}}))}}};te[3]=function(){return{error:"GPOS Lookup 3 not supported"}};te[4]=function(){return{error:"GPOS Lookup 4 not supported"}};te[5]=function(){return{error:"GPOS Lookup 5 not supported"}};te[6]=function(){return{error:"GPOS Lookup 6 not supported"}};te[7]=function(){return{error:"GPOS Lookup 7 not supported"}};te[8]=function(){return{error:"GPOS Lookup 8 not supported"}};te[9]=function(){return{error:"GPOS Lookup 9 not supported"}};function So(e,r){r=r||0;var t=new v(e,r),a=t.parseVersion(1);return U.argument(a===1||a===1.1,"Unsupported GPOS table version "+a),a===1?{version:a,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(te)}:{version:a,scripts:t.parseScriptList(),features:t.parseFeatureList(),lookups:t.parseLookupList(te),variations:t.parseFeatureVariationsList()}}var To=new Array(10);function ko(e){return new b.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new b.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new b.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new b.LookupList(e.lookups,To)}])}var Fo={parse:So,make:ko};function Uo(e){var r={};e.skip("uShort");var t=e.parseUShort();U.argument(t===0,"Unsupported kern sub-table version."),e.skip("uShort",2);var a=e.parseUShort();e.skip("uShort",3);for(var n=0;n1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var a=e.parseUShort(),n=a&255;if(e.skip("uShort"),n===0){var s=e.parseUShort();e.skip("uShort",3);for(var i=0;i"u",n=a&&!t.isUrl?wo:Do;return new Promise(function(s,i){n(e,function(u,o){if(u){if(r)return r(u);i(u)}var l;try{l=Dr(o,t)}catch(f){if(r)return r(f,null);i(f)}if(r)return r(null,l);s(l)})})}function Io(e,r){var t=Ne(),a=t.readFileSync(e);return Dr($t(a),r)}var Mo=Object.freeze({__proto__:null,Font:w,Glyph:Q,Path:P,BoundingBox:pe,_parse:k,parse:Dr,load:Bo,loadSync:Io}),Ho=Mo;export{ne as Bidi,pe as BoundingBox,w as Font,Q as Glyph,P as Path,k as _parse,Ho as default,Bo as load,Io as loadSync,Dr as parse};