diff --git a/dist/thermal-printer-encoder.esm.js b/dist/thermal-printer-encoder.esm.js
index fa6a39b..aec761c 100644
--- a/dist/thermal-printer-encoder.esm.js
+++ b/dist/thermal-printer-encoder.esm.js
@@ -1 +1 @@
-function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}},i={html:{skipScheme:"html",lineBreakScheme:"html",whitespace:"collapse"}},s=/<\s*br(?:[\s/]*|\s[^>]*)>/gi,n={unix:[/\n/g,"\n"],dos:[/\r\n/g,"\r\n"],mac:[/\r/g,"\r"],html:[s,"
"],xhtml:[s,"
"]},r={"ansi-color":/\x1B\[[^m]*m/g,html:/<[^>]*>/g,bbcode:/\[[^]]*\]/g},a={soft:1,hard:1},o={collapse:1,default:1,line:1,all:1},h={all:1,multi:1,none:1},l=/([sm])(\d+)/,p=/[-/\\^$*+?.()|[\]{}]/g;function c(e){return e.replace(p,"\\$&")}var d=t.exports=function(e,t,s){"object"==typeof e&&(e=(s=e).start,t=s.stop),"object"==typeof t&&(s=t,e=e||s.start,t=void 0),t||(t=e,e=0),s||(s={});var p,d,u,g,f,w,_,b,m,y,v,k,q,E,L,x,A,j,I="soft",M="default",R=4,B="all",S="",C="";if(p=s.preset)for(p instanceof Array||(p=[p]),j=0;j
=0))throw new TypeError("tabWidth must be a non-negative integer");R=parseInt(s.tabWidth,10)}if(L=new Array(R+1).join(" "),s.respectLineBreaks){if(!h[s.respectLineBreaks]&&!l.test(s.respectLineBreaks))throw new TypeError('respectLineBreaks must be one of "'+Object.keys(h).join('", "')+'", "m", "s"');B=s.respectLineBreaks}if("multi"===B)B="m",w=2;else if(!h[B]){var O=l.exec(B);B=O[1],w=parseInt(O[2],10)}if(void 0!==s.preservedLineIndent){if(!(parseInt(s.preservedLineIndent,10)>=0))throw new TypeError("preservedLineIndent must be a non-negative integer");_=parseInt(s.preservedLineIndent,10)}if(_>0&&(S=new Array(_+1).join(" ")),void 0!==s.wrapLineIndent){if(isNaN(parseInt(s.wrapLineIndent,10)))throw new TypeError("wrapLineIndent must be an integer");b=parseInt(s.wrapLineIndent,10)}if(s.wrapLineIndentBase&&(m=s.wrapLineIndentBase),m){if(void 0===b)throw new TypeError("wrapLineIndent must be specified when wrapLineIndentBase is specified");if(m instanceof RegExp)E=m;else{if("string"!=typeof m)throw new TypeError("wrapLineIndentBase must be either a RegExp object or a string");E=new RegExp(c(m))}}else if(b>0)C=new Array(b+1).join(" ");else if(b<0)throw new TypeError("wrapLineIndent must be non-negative when a base is not specified");if(s.skipScheme){if(!r[s.skipScheme])throw new TypeError('skipScheme must be one of "'+Object.keys(r).join('", "')+'"');u=s.skipScheme}if(s.skip&&(d=s.skip),d)if(d instanceof RegExp)(y=d).global||(A="g",y.ignoreCase&&(A+="i"),y.multiline&&(A+="m"),y=new RegExp(y.source,A));else{if("string"!=typeof d)throw new TypeError("skip must be either a RegExp object or a string");y=new RegExp(c(d),"g")}if(!y&&u&&(y=r[u]),s.lineBreakScheme){if(!n[s.lineBreakScheme])throw new TypeError('lineBreakScheme must be one of "'+Object.keys(n).join('", "')+'"');f=s.lineBreakScheme}if(s.lineBreak&&(g=s.lineBreak),f&&(x=n[f])&&(v=x[0],k=x[1]),g)if(g instanceof Array&&(1===g.length?g=g[0]:g.length>=2&&(g[0]instanceof RegExp?(v=g[0],"string"==typeof g[1]&&(k=g[1])):g[1]instanceof RegExp?(v=g[1],"string"==typeof g[0]&&(k=g[0])):"string"==typeof g[0]&&"string"==typeof g[1]?(v=new RegExp(c(g[0]),"g"),k=g[1]):g=g[0])),"string"==typeof g)k=g,v||(v=new RegExp(c(g),"g"));else if(g instanceof RegExp)v=g;else if(!(g instanceof Array))throw new TypeError("lineBreak must be a RegExp object, a string, or an array consisted of a RegExp object and a string");v||(v=/\n/g,k="\n"),A="g",v.ignoreCase&&(A+="i"),v.multiline&&(A+="m"),q=new RegExp("\\s*(?:"+v.source+")(?:"+v.source+"|\\s)*",A),v.global||(v=new RegExp(v.source,A));var z="hard"===I?/\b/:/(\S+\s+)/,T=new Array(e+1).join(" "),U="default"===M||"collapse"===M,W="collapse"===M,N="line"===M,P="all"===M,H=/\t/g,G=/ +/g,K=/^\s+/,$=/\s+$/,F=/\S/,Q=/\s/,D=t-e;return function(i){var s;if(i=i.toString().replace(H,L),!k){if(v.lastIndex=0,!(s=v.exec(i)))throw new TypeError("Line break string for the output not specified");k=s[0]}var n,r,a,o,h,l,p,c,d,u=0;for(n=[],q.lastIndex=0,s=q.exec(i);s;){if(n.push(i.substring(u,s.index)),"none"!==B){for(a=[],o=0,v.lastIndex=0,r=v.exec(s[0]);r;)a.push(s[0].substring(o,r.index)),o=r.index+r[0].length,r=v.exec(s[0]);a.push(s[0].substring(o)),n.push({type:"break",breaks:a})}else h=W?" ":s[0].replace(v,""),n.push({type:"break",remaining:h});u=s.index+s[0].length,s=q.exec(i)}if(n.push(i.substring(u)),y)for(d=[],l=0;lt&&(V=V||t,r=a.length-(R-V),O[M]=a.substring(0,r)),V=0;else{for(s=a.length-1;s>=e&&" "===a[s];)s--;for(;s>=e&&Q.test(a[s]);)s--;++s!==a.length&&(O[M]=a.substring(0,s)),J&&Y&&N&&R>t&&(r=a.length-(R-t))=0&&s+b>0?new Array(s+b+1).join(" "):"")),r){for(;r+Dt&&R+(te=ee.replace($,"")).length>t&&""!==te&&R>e){if(j=Z(!1),O.push(T+X),M++,R=e+X.length,j){O[M]+=j,R+=j.length,Y=!0;continue}!U&&(!N||J&&Y)||(ee=ee.replace(K,"")),Y=!1}else Y&&(U||N&&(!J||!Y)?""!==(ee=ee.replace(K,""))&&(Y=!1):F.test(ee)&&(Y=!1));break}P&&te&&R+te.length>t&&(V=R+te.length),O[M]+=ee,R+=ee.length}else if("break"===ee.type)if("none"!==B){var ie=ee.breaks,se=ie.length-1;if("s"===B){for(p=0;pt&&(j=Z(!1),O.push(T+X),M++,R=e+X.length,j&&(O[M]+=j,R+=j.length),Y=!0),O[M]+=ee.value)}return Z(!0),O.join(k)}};d.soft=d,d.hard=function(){var e=[].slice.call(arguments),t=e.length-1;return"object"==typeof e[t]?e[t].mode="hard":e.push({mode:"hard"}),d.apply(null,e)},d.wrap=function(e){var t=[].slice.call(arguments);return t.shift(),d.apply(null,t)(e)};var u=e(t.exports),g=function(e,t){return Object.assign(document.createElement("canvas"),{width:e,height:t})};var f=e(new class{grayscale(e){for(let t=0;t?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},cp865:{name:"Nordic",languages:["sv","dk"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp866:{name:"Cyrillic 2",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},cp869:{name:"Greek",languages:["el"],offset:128,chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄±υφχ§ψ΅°¨ωϋΰώ■ "},cp874:{name:"Thai",languages:["th"],offset:128,chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp1098:{name:"Farsi",languages:["fa"],offset:128,chars:" ،؛؟ًآﺂاﺎءأﺄؤﺋبﺑﭖﭘتﺗثﺛجﺟﭺﭼ×حﺣخﺧدذرزﮊسﺳشﺷصﺻ«»░▒▓│┤ضﺿﻁﻃ╣║╗╝¤ﻅ┐└┴┬├─┼ﻇع╚╔╩╦╠═╬ ﻊﻋﻌغﻎﻏﻐفﻓ┘┌█▄قﻗ▀ﮎﻛﮒﮔلﻟمﻣنﻧوهﻫﻬﮤﯼﯽﯾـ٠١٢٣٤٥٦٧٨٩■ "},cp1118:{name:"Lithuanian",languages:["lt"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀αβΓπΣσµτΦΘΩδ∞φε⋂≡±≥≤„“÷≈°∙˙√ⁿ²■ "},cp1119:{name:"Lithuanian",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁё≥≤„“÷≈°∙·√ⁿ²■ "},cp1125:{name:"Ukrainian",languages:["uk"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},cp1162:{name:"Thai",languages:["th"],offset:128,chars:"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp2001:{name:"Lithuanian KBL or 771",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█ĄąČčрстуфхцчшщъыьэюяĘęĖėĮįŠšŲųŪūŽž■ "},cp3001:{name:"Estonian 1 or 1116",languages:["et"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤šŠÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµžŽÚÛÙýݯ´±‗¾¶§÷¸°¨·¹³²■ "},cp3002:{name:"Estonian 2",languages:["et"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},cp3011:{name:"Latvian 1",languages:["lv"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤Ā╢ņ╕╣║╗╝╜╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀αßΓπΣσµτΦΘΩδ∞φε∩ĒēĢķĶļĻžŽ∙·√Ņš■ "},cp3012:{name:"Latvian 2 (modified 866)",languages:["lv"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤Ā╢ņ╕╣║╗╝Ō╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀рстуфхцчшщъыьэюяĒēĢķĶļĻžŽō·√Ņš■ "},cp3021:{name:"Bulgarian (MIK)",languages:["bg"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3041:{name:"Maltese ISO 646",languages:["mt"],offset:0,chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZġżħ^_ċabcdefghijklmnopqrstuvwxyzĠŻĦĊ"},cp3840:{name:"Russian (modified 866)",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюя≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3841:{name:"Ghost",languages:["ru"],offset:128,chars:"ғәёіїјҝөўүӽӈҹҷє£ҒӘЁІЇЈҜӨЎҮӼӇҸҶЄЪ !\"#$%&'()*+,-./0123456789:;<=>?юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧ∅"},cp3843:{name:"Polish (Mazovia)",languages:["pl"],offset:128,chars:"ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3844:{name:"Czech (Kamenický)",languages:["cz"],offset:128,chars:"ČüéďäĎŤčěĚĹÍľĺÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3845:{name:"Hungarian (CWI-2)",languages:["hu"],offset:128,chars:"ÇüéâäàåçêëèïîÍÄÁÉæÆőöÓűÚŰÖÜ¢£¥₧ƒáíóúñÑªŐ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3846:{name:"Turkish",languages:["tr"],offset:128,chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜ¢£¥ŞşáíóúñÑĞğ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3847:{name:"Brazil ABNT",languages:["pt"],offset:256,chars:""},cp3848:{name:"Brazil ABICOMP",languages:["pt"],offset:160,chars:" ÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖŒÙÚÛÜŸ¨£¦§°¡àáâãäçèéêëìíîïñòóôõöœùúûüÿߪº¿±"},iso88591:{name:"Latin 1",languages:["en"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},iso88592:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"
Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},iso88597:{name:"Greek",languages:["el"],offset:128,chars:"
‘’£€₯¦§¨©ͺ«¬�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},iso885915:{name:"Latin 9",languages:["fr"],offset:128,chars:"
¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},rk1048:{name:"Kazakh",languages:["kk"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1250:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},windows1251:{name:"Cyrillic",languages:["ru"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1252:{name:"Latin",languages:["fr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},windows1253:{name:"Greek",languages:["el"],offset:128,chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},windows1254:{name:"Turkish",languages:["tr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},windows1255:{name:"Hebrew",languages:["he"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת���"},windows1256:{name:"Arabic",languages:["ar"],offset:128,chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œں ،¢£¤¥¦§¨©ھ«¬®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûüے"},windows1257:{name:"Baltic Rim",languages:["et","lt"],offset:128,chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},windows1258:{name:"Vietnamese",languages:["vi"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"}},b={en:"The quick brown fox jumps over the lazy dog.",jp:"イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム",pt:"O próximo vôo à noite sobre o Atlântico, põe freqüentemente o único médico.",fr:"Les naïfs ægithales hâtifs pondant à Noël où il gèle sont sûrs d'être déçus en voyant leurs drôles d'œufs abîmés.",sv:"Flygande bäckasiner söka strax hwila på mjuka tuvor.",dk:"Quizdeltagerne spiste jordbær med fløde",el:"ξεσκεπάζω την ψυχοφθόρα βδελυγμία",tr:"Pijamalı hasta, yağız şoföre çabucak güvendi.",ru:"Съешь же ещё этих мягких французских булок да выпей чаю",hu:"Árvíztűrő tükörfúrógép",pl:"Pchnąć w tę łódź jeża lub ośm skrzyń fig",cz:"Mohu jíst sklo, neublíží mi.",ar:"أنا قادر على أكل الزجاج و هذا لا يؤلمني.",et:"Ma võin klaasi süüa, see ei tee mulle midagi.",lt:"Aš galiu valgyti stiklą ir jis manęs nežeidžia.",bg:"Мога да ям стъкло, то не ми вреди.",is:"Ég get etið gler án þess að meiða mig.",he:"אני יכול לאכול זכוכית וזה לא מזיק לי.",fa:".من می توانم بدونِ احساس درد شيشه بخورم",uk:"Я можу їсти скло, і воно мені не зашкодить.",vi:"Tôi có thể ăn thủy tinh mà không hại gì.",kk:"қазақша",lv:"Es varu ēst stiklu, tas man nekaitē.",mt:"Nista' niekol il-ħġieġ u ma jagħmilli xejn.",th:"ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ"};class m{static getEncodings(){return Object.keys(_)}static getTestStrings(e){return void 0!==_[e]&&void 0!==_[e].languages?_[e].languages.map((e=>({language:e,string:b[e]}))):[]}static supports(e){return void 0!==_[e]&&void 0!==_[e].chars}static encode(e,t){const i=new Uint8Array(e.length);let s="\0".repeat(128),n=128;void 0!==_[t]&&void 0!==_[t].chars&&(s=_[t].chars,n=_[t].offset);for(let t=0;t=n+s.length)?i[t]=r:i[t]=63}}return i}static autoEncode(e,t){const i=[];let s,n=-1;for(let r=0;rthis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e8)throw new Error("Width must be between 1 and 8");return this._state.width=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>8)throw new Error("Height must be between 1 and 8");return this._state.height=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([29,66,Number(e)]),this}size(e){return e="small"===e?1:0,this._queue([27,77,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i64?this._queue([29,107,s[t],n.length,n]):this._queue([29,107,s[t],n,0])}return this._flush(),this}qrcode(e,t,i,s){if(this._embedded)throw new Error("QR codes are not supported in table cells or boxes");this._queue([10]);const n={1:49,2:50};if(void 0===t&&(t=2),!(t in n))throw new Error("Model must be 1 or 2");if(this._queue([29,40,107,4,0,49,65,n[t],0]),void 0===i&&(i=6),"number"!=typeof i)throw new Error("Size must be a number");if(i<1||i>8)throw new Error("Size must be between 1 and 8");this._queue([29,40,107,3,0,49,67,i]);const r={l:48,m:49,q:50,h:51};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([29,40,107,3,0,49,69,r[s]]);const a=m.encode(e,"iso88591"),o=a.length+3;return this._queue([29,40,107,o%255,o/255,49,80,48,a]),this._queue([29,40,107,3,0,49,81,48]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%8!=0)throw new Error("Height must be a multiple of 8");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,s)=>e0?0:1:0,h=(e,t)=>{const i=new Uint8Array(e*t>>3);for(let s=0;s>3)+(t>>3)]|=o(t+n,s)<<7-n;return i};return 0!=this._cursor&&this.newline(),"column"==this._options.imageMode&&(this._queue([27,51,36]),((e,t)=>{const i=[];for(let s=0;s{this._queue([27,42,33,255&t,t>>8&255,e,10])})),this._queue([27,50])),"raster"==this._options.imageMode&&this._queue([29,118,48,0,t>>3&255,t>>3>>8&255,255&i,i>>8&255,h(t,i)]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([29,86,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=100),void 0===i&&(i=500),t=Math.min(500,Math.round(t/2)),i=Math.min(500,Math.round(i/2)),this._queue([27,112,e?1:0,255&t,255&i]),this}raw(e){return this._queue(e),this}encode(){this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}const k={star:{cp437:1,cp858:4,cp852:5,cp860:6,cp861:7,cp863:8,cp865:9,cp866:10,cp855:11,cp857:12,cp862:13,cp864:14,cp737:15,cp869:17,cp874:20,windows1252:32,windows1250:33,windows1251:34}};class q{constructor(e){this._reset(e)}_reset(e){this._options=Object.assign({width:null,embedded:!1,wordWrap:!0,codepageMapping:"star",codepageCandidates:["cp437","cp858","cp860","cp861","cp863","cp865","cp852","cp857","cp855","cp866","cp869"]},e),this._embedded=this._options.width&&this._options.embedded,this._buffer=[],this._queued=[],this._cursor=0,this._codepage="ascii",this._state={codepage:0,align:"left",bold:!1,italic:!1,underline:!1,invert:!1,width:1,height:1}}_encode(e){if("auto"!=this._codepage)return m.encode(e,this._codepage);let t;t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping;const i=m.autoEncode(e,this._options.codepageCandidates);let s=0;for(let e=0;ethis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,29,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64,24]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,29,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e6)throw new Error("Width must be between 1 and 6");return this._state.width=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>6)throw new Error("Height must be between 1 and 6");return this._state.height=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([27,e?52:53]),this}size(e){return e="smaller"===e?2:"small"===e?1:0,this._queue([27,30,70,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,29,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i8)throw new Error("Size must be between 1 and 8");this._queue([27,29,121,83,50,i]);const r={l:0,m:1,q:2,h:3};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([27,29,121,83,49,r[s]]);const a=m.encode(e,"iso88591"),o=a.length;return this._queue([27,29,121,68,49,0,o%255,o/255,a]),this._queue([27,29,121,80]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%24!=0)throw new Error("Height must be a multiple of 24");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,i)=>a.data[4*(t*i+e)]>0?0:1;this._queue([27,48]);for(let e=0;e>8&255,s,10,13])}return this._queue([27,122,1]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([27,100,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=200),void 0===i&&(i=200),t=Math.min(127,Math.round(t/10)),i=Math.min(127,Math.round(i/10)),this._queue([27,7,255&t,255&i,e?26:7]),this}raw(e){return this._queue(e),this}encode(){this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}class E{constructor(e){const t={"esc-pos":v,"star-prnt":q};if(void 0===e||void 0===e.language)throw new Error("You need to specify the language of the thermal printer");if(void 0===t[e.language])throw new Error("Language not supported by this library");this.language=e.language;const i=t[this.language].prototype;Object.getOwnPropertyNames(i).forEach((e=>{this[e]=i[e]})),this._reset(e)}}export{E as default};
+function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}},i={html:{skipScheme:"html",lineBreakScheme:"html",whitespace:"collapse"}},s=/<\s*br(?:[\s/]*|\s[^>]*)>/gi,n={unix:[/\n/g,"\n"],dos:[/\r\n/g,"\r\n"],mac:[/\r/g,"\r"],html:[s,"
"],xhtml:[s,"
"]},r={"ansi-color":/\x1B\[[^m]*m/g,html:/<[^>]*>/g,bbcode:/\[[^]]*\]/g},a={soft:1,hard:1},o={collapse:1,default:1,line:1,all:1},h={all:1,multi:1,none:1},l=/([sm])(\d+)/,p=/[-/\\^$*+?.()|[\]{}]/g;function c(e){return e.replace(p,"\\$&")}var d=t.exports=function(e,t,s){"object"==typeof e&&(e=(s=e).start,t=s.stop),"object"==typeof t&&(s=t,e=e||s.start,t=void 0),t||(t=e,e=0),s||(s={});var p,d,u,g,f,w,_,b,m,y,v,k,q,E,L,x,A,j,I="soft",M="default",R=4,B="all",S="",C="";if(p=s.preset)for(p instanceof Array||(p=[p]),j=0;j=0))throw new TypeError("tabWidth must be a non-negative integer");R=parseInt(s.tabWidth,10)}if(L=new Array(R+1).join(" "),s.respectLineBreaks){if(!h[s.respectLineBreaks]&&!l.test(s.respectLineBreaks))throw new TypeError('respectLineBreaks must be one of "'+Object.keys(h).join('", "')+'", "m", "s"');B=s.respectLineBreaks}if("multi"===B)B="m",w=2;else if(!h[B]){var O=l.exec(B);B=O[1],w=parseInt(O[2],10)}if(void 0!==s.preservedLineIndent){if(!(parseInt(s.preservedLineIndent,10)>=0))throw new TypeError("preservedLineIndent must be a non-negative integer");_=parseInt(s.preservedLineIndent,10)}if(_>0&&(S=new Array(_+1).join(" ")),void 0!==s.wrapLineIndent){if(isNaN(parseInt(s.wrapLineIndent,10)))throw new TypeError("wrapLineIndent must be an integer");b=parseInt(s.wrapLineIndent,10)}if(s.wrapLineIndentBase&&(m=s.wrapLineIndentBase),m){if(void 0===b)throw new TypeError("wrapLineIndent must be specified when wrapLineIndentBase is specified");if(m instanceof RegExp)E=m;else{if("string"!=typeof m)throw new TypeError("wrapLineIndentBase must be either a RegExp object or a string");E=new RegExp(c(m))}}else if(b>0)C=new Array(b+1).join(" ");else if(b<0)throw new TypeError("wrapLineIndent must be non-negative when a base is not specified");if(s.skipScheme){if(!r[s.skipScheme])throw new TypeError('skipScheme must be one of "'+Object.keys(r).join('", "')+'"');u=s.skipScheme}if(s.skip&&(d=s.skip),d)if(d instanceof RegExp)(y=d).global||(A="g",y.ignoreCase&&(A+="i"),y.multiline&&(A+="m"),y=new RegExp(y.source,A));else{if("string"!=typeof d)throw new TypeError("skip must be either a RegExp object or a string");y=new RegExp(c(d),"g")}if(!y&&u&&(y=r[u]),s.lineBreakScheme){if(!n[s.lineBreakScheme])throw new TypeError('lineBreakScheme must be one of "'+Object.keys(n).join('", "')+'"');f=s.lineBreakScheme}if(s.lineBreak&&(g=s.lineBreak),f&&(x=n[f])&&(v=x[0],k=x[1]),g)if(g instanceof Array&&(1===g.length?g=g[0]:g.length>=2&&(g[0]instanceof RegExp?(v=g[0],"string"==typeof g[1]&&(k=g[1])):g[1]instanceof RegExp?(v=g[1],"string"==typeof g[0]&&(k=g[0])):"string"==typeof g[0]&&"string"==typeof g[1]?(v=new RegExp(c(g[0]),"g"),k=g[1]):g=g[0])),"string"==typeof g)k=g,v||(v=new RegExp(c(g),"g"));else if(g instanceof RegExp)v=g;else if(!(g instanceof Array))throw new TypeError("lineBreak must be a RegExp object, a string, or an array consisted of a RegExp object and a string");v||(v=/\n/g,k="\n"),A="g",v.ignoreCase&&(A+="i"),v.multiline&&(A+="m"),q=new RegExp("\\s*(?:"+v.source+")(?:"+v.source+"|\\s)*",A),v.global||(v=new RegExp(v.source,A));var z="hard"===I?/\b/:/(\S+\s+)/,T=new Array(e+1).join(" "),U="default"===M||"collapse"===M,W="collapse"===M,N="line"===M,P="all"===M,H=/\t/g,G=/ +/g,F=/^\s+/,K=/\s+$/,$=/\S/,Q=/\s/,D=t-e;return function(i){var s;if(i=i.toString().replace(H,L),!k){if(v.lastIndex=0,!(s=v.exec(i)))throw new TypeError("Line break string for the output not specified");k=s[0]}var n,r,a,o,h,l,p,c,d,u=0;for(n=[],q.lastIndex=0,s=q.exec(i);s;){if(n.push(i.substring(u,s.index)),"none"!==B){for(a=[],o=0,v.lastIndex=0,r=v.exec(s[0]);r;)a.push(s[0].substring(o,r.index)),o=r.index+r[0].length,r=v.exec(s[0]);a.push(s[0].substring(o)),n.push({type:"break",breaks:a})}else h=W?" ":s[0].replace(v,""),n.push({type:"break",remaining:h});u=s.index+s[0].length,s=q.exec(i)}if(n.push(i.substring(u)),y)for(d=[],l=0;lt&&(V=V||t,r=a.length-(R-V),O[M]=a.substring(0,r)),V=0;else{for(s=a.length-1;s>=e&&" "===a[s];)s--;for(;s>=e&&Q.test(a[s]);)s--;++s!==a.length&&(O[M]=a.substring(0,s)),J&&Y&&N&&R>t&&(r=a.length-(R-t))=0&&s+b>0?new Array(s+b+1).join(" "):"")),r){for(;r+Dt&&R+(te=ee.replace(K,"")).length>t&&""!==te&&R>e){if(j=Z(!1),O.push(T+X),M++,R=e+X.length,j){O[M]+=j,R+=j.length,Y=!0;continue}!U&&(!N||J&&Y)||(ee=ee.replace(F,"")),Y=!1}else Y&&(U||N&&(!J||!Y)?""!==(ee=ee.replace(F,""))&&(Y=!1):$.test(ee)&&(Y=!1));break}P&&te&&R+te.length>t&&(V=R+te.length),O[M]+=ee,R+=ee.length}else if("break"===ee.type)if("none"!==B){var ie=ee.breaks,se=ie.length-1;if("s"===B){for(p=0;pt&&(j=Z(!1),O.push(T+X),M++,R=e+X.length,j&&(O[M]+=j,R+=j.length),Y=!0),O[M]+=ee.value)}return Z(!0),O.join(k)}};d.soft=d,d.hard=function(){var e=[].slice.call(arguments),t=e.length-1;return"object"==typeof e[t]?e[t].mode="hard":e.push({mode:"hard"}),d.apply(null,e)},d.wrap=function(e){var t=[].slice.call(arguments);return t.shift(),d.apply(null,t)(e)};var u=e(t.exports),g=function(e,t){return Object.assign(document.createElement("canvas"),{width:e,height:t})};var f=e(new class{grayscale(e){for(let t=0;t?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},cp865:{name:"Nordic",languages:["sv","dk"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp866:{name:"Cyrillic 2",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},cp869:{name:"Greek",languages:["el"],offset:128,chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄±υφχ§ψ΅°¨ωϋΰώ■ "},cp874:{name:"Thai",languages:["th"],offset:128,chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp1098:{name:"Farsi",languages:["fa"],offset:128,chars:" ،؛؟ًآﺂاﺎءأﺄؤﺋبﺑﭖﭘتﺗثﺛجﺟﭺﭼ×حﺣخﺧدذرزﮊسﺳشﺷصﺻ«»░▒▓│┤ضﺿﻁﻃ╣║╗╝¤ﻅ┐└┴┬├─┼ﻇع╚╔╩╦╠═╬ ﻊﻋﻌغﻎﻏﻐفﻓ┘┌█▄قﻗ▀ﮎﻛﮒﮔلﻟمﻣنﻧوهﻫﻬﮤﯼﯽﯾـ٠١٢٣٤٥٦٧٨٩■ "},cp1118:{name:"Lithuanian",languages:["lt"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀αβΓπΣσµτΦΘΩδ∞φε⋂≡±≥≤„“÷≈°∙˙√ⁿ²■ "},cp1119:{name:"Lithuanian",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁё≥≤„“÷≈°∙·√ⁿ²■ "},cp1125:{name:"Ukrainian",languages:["uk"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},cp1162:{name:"Thai",languages:["th"],offset:128,chars:"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp2001:{name:"Lithuanian KBL or 771",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█ĄąČčрстуфхцчшщъыьэюяĘęĖėĮįŠšŲųŪūŽž■ "},cp3001:{name:"Estonian 1 or 1116",languages:["et"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤šŠÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµžŽÚÛÙýݯ´±‗¾¶§÷¸°¨·¹³²■ "},cp3002:{name:"Estonian 2",languages:["et"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},cp3011:{name:"Latvian 1",languages:["lv"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤Ā╢ņ╕╣║╗╝╜╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀αßΓπΣσµτΦΘΩδ∞φε∩ĒēĢķĶļĻžŽ∙·√Ņš■ "},cp3012:{name:"Latvian 2 (modified 866)",languages:["lv"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤Ā╢ņ╕╣║╗╝Ō╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀рстуфхцчшщъыьэюяĒēĢķĶļĻžŽō·√Ņš■ "},cp3021:{name:"Bulgarian (MIK)",languages:["bg"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3041:{name:"Maltese ISO 646",languages:["mt"],offset:0,chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZġżħ^_ċabcdefghijklmnopqrstuvwxyzĠŻĦĊ"},cp3840:{name:"Russian (modified 866)",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюя≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3841:{name:"Ghost",languages:["ru"],offset:128,chars:"ғәёіїјҝөўүӽӈҹҷє£ҒӘЁІЇЈҜӨЎҮӼӇҸҶЄЪ !\"#$%&'()*+,-./0123456789:;<=>?юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧ∅"},cp3843:{name:"Polish (Mazovia)",languages:["pl"],offset:128,chars:"ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3844:{name:"Czech (Kamenický)",languages:["cz"],offset:128,chars:"ČüéďäĎŤčěĚĹÍľĺÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3845:{name:"Hungarian (CWI-2)",languages:["hu"],offset:128,chars:"ÇüéâäàåçêëèïîÍÄÁÉæÆőöÓűÚŰÖÜ¢£¥₧ƒáíóúñÑªŐ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3846:{name:"Turkish",languages:["tr"],offset:128,chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜ¢£¥ŞşáíóúñÑĞğ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3847:{name:"Brazil ABNT",languages:["pt"],offset:256,chars:""},cp3848:{name:"Brazil ABICOMP",languages:["pt"],offset:160,chars:" ÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖŒÙÚÛÜŸ¨£¦§°¡àáâãäçèéêëìíîïñòóôõöœùúûüÿߪº¿±"},iso88591:{name:"Latin 1",languages:["en"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},iso88592:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"
Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},iso88597:{name:"Greek",languages:["el"],offset:128,chars:"
‘’£€₯¦§¨©ͺ«¬�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},iso885915:{name:"Latin 9",languages:["fr"],offset:128,chars:"
¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},rk1048:{name:"Kazakh",languages:["kk"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1250:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},windows1251:{name:"Cyrillic",languages:["ru"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1252:{name:"Latin",languages:["fr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},windows1253:{name:"Greek",languages:["el"],offset:128,chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},windows1254:{name:"Turkish",languages:["tr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},windows1255:{name:"Hebrew",languages:["he"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת���"},windows1256:{name:"Arabic",languages:["ar"],offset:128,chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œں ،¢£¤¥¦§¨©ھ«¬®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûüے"},windows1257:{name:"Baltic Rim",languages:["et","lt"],offset:128,chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},windows1258:{name:"Vietnamese",languages:["vi"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"}},b={en:"The quick brown fox jumps over the lazy dog.",jp:"イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム",pt:"O próximo vôo à noite sobre o Atlântico, põe freqüentemente o único médico.",fr:"Les naïfs ægithales hâtifs pondant à Noël où il gèle sont sûrs d'être déçus en voyant leurs drôles d'œufs abîmés.",sv:"Flygande bäckasiner söka strax hwila på mjuka tuvor.",dk:"Quizdeltagerne spiste jordbær med fløde",el:"ξεσκεπάζω την ψυχοφθόρα βδελυγμία",tr:"Pijamalı hasta, yağız şoföre çabucak güvendi.",ru:"Съешь же ещё этих мягких французских булок да выпей чаю",hu:"Árvíztűrő tükörfúrógép",pl:"Pchnąć w tę łódź jeża lub ośm skrzyń fig",cz:"Mohu jíst sklo, neublíží mi.",ar:"أنا قادر على أكل الزجاج و هذا لا يؤلمني.",et:"Ma võin klaasi süüa, see ei tee mulle midagi.",lt:"Aš galiu valgyti stiklą ir jis manęs nežeidžia.",bg:"Мога да ям стъкло, то не ми вреди.",is:"Ég get etið gler án þess að meiða mig.",he:"אני יכול לאכול זכוכית וזה לא מזיק לי.",fa:".من می توانم بدونِ احساس درد شيشه بخورم",uk:"Я можу їсти скло, і воно мені не зашкодить.",vi:"Tôi có thể ăn thủy tinh mà không hại gì.",kk:"қазақша",lv:"Es varu ēst stiklu, tas man nekaitē.",mt:"Nista' niekol il-ħġieġ u ma jagħmilli xejn.",th:"ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ"};class m{static getEncodings(){return Object.keys(_)}static getTestStrings(e){return void 0!==_[e]&&void 0!==_[e].languages?_[e].languages.map((e=>({language:e,string:b[e]}))):[]}static supports(e){return void 0!==_[e]&&void 0!==_[e].chars}static encode(e,t){const i=new Uint8Array(e.length);let s="\0".repeat(128),n=128;void 0!==_[t]&&void 0!==_[t].chars&&(s=_[t].chars,n=_[t].offset);for(let t=0;t=n+s.length)?i[t]=r:i[t]=63}}return i}static autoEncode(e,t){const i=[];let s,n=-1;for(let r=0;rthis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e8)throw new Error("Width must be between 1 and 8");return this._state.width=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>8)throw new Error("Height must be between 1 and 8");return this._state.height=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([29,66,Number(e)]),this}size(e){return e="small"===e?1:0,this._queue([27,77,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i64?this._queue([29,107,s[t],n.length,n]):this._queue([29,107,s[t],n,0])}return this._flush(),this}qrcode(e,t,i,s){if(this._embedded)throw new Error("QR codes are not supported in table cells or boxes");this._queue([10]);const n={1:49,2:50};if(void 0===t&&(t=2),!(t in n))throw new Error("Model must be 1 or 2");if(this._queue([29,40,107,4,0,49,65,n[t],0]),void 0===i&&(i=6),"number"!=typeof i)throw new Error("Size must be a number");if(i<1||i>8)throw new Error("Size must be between 1 and 8");this._queue([29,40,107,3,0,49,67,i]);const r={l:48,m:49,q:50,h:51};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([29,40,107,3,0,49,69,r[s]]);const a=m.encode(e,"iso88591"),o=a.length+3;return this._queue([29,40,107,o%255,o/255,49,80,48,a]),this._queue([29,40,107,3,0,49,81,48]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%8!=0)throw new Error("Height must be a multiple of 8");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,s)=>e0?0:1:0,h=(e,t)=>{const i=new Uint8Array(e*t>>3);for(let s=0;s>3)+(t>>3)]|=o(t+n,s)<<7-n;return i};return 0!=this._cursor&&this.newline(),"column"==this._options.imageMode&&(this._queue([27,51,36]),((e,t)=>{const i=[];for(let s=0;s{this._queue([27,42,33,255&t,t>>8&255,e,10])})),this._queue([27,50])),"raster"==this._options.imageMode&&this._queue([29,118,48,0,t>>3&255,t>>3>>8&255,255&i,i>>8&255,h(t,i)]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([29,86,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=100),void 0===i&&(i=500),t=Math.min(500,Math.round(t/2)),i=Math.min(500,Math.round(i/2)),this._queue([27,112,e?1:0,255&t,255&i]),this}raw(e){return this._queue(e),this}encode(){this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}const k={star:{cp437:1,cp858:4,cp852:5,cp860:6,cp861:7,cp863:8,cp865:9,cp866:10,cp855:11,cp857:12,cp862:13,cp864:14,cp737:15,cp869:17,cp874:20,windows1252:32,windows1250:33,windows1251:34}};class q{constructor(e){this._reset(e||{})}_reset(e){e&&(this._options=Object.assign({width:null,embedded:!1,wordWrap:!0,autoFlush:!0,codepageMapping:"star",codepageCandidates:["cp437","cp858","cp860","cp861","cp863","cp865","cp852","cp857","cp855","cp866","cp869"]},e)),this._embedded=this._options.width&&this._options.embedded,this._buffer=[],this._queued=[],this._cursor=0,this._codepage="ascii",this._state={codepage:0,align:"left",bold:!1,italic:!1,underline:!1,invert:!1,width:1,height:1}}_encode(e){if("auto"!=this._codepage)return m.encode(e,this._codepage);let t;t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping;const i=m.autoEncode(e,this._options.codepageCandidates);let s=0;for(let e=0;ethis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,29,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64,24]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,29,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e6)throw new Error("Width must be between 1 and 6");return this._state.width=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>6)throw new Error("Height must be between 1 and 6");return this._state.height=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([27,e?52:53]),this}size(e){return e="smaller"===e?2:"small"===e?1:0,this._queue([27,30,70,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,29,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i8)throw new Error("Size must be between 1 and 8");this._queue([27,29,121,83,50,i]);const r={l:0,m:1,q:2,h:3};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([27,29,121,83,49,r[s]]);const a=m.encode(e,"iso88591"),o=a.length;return this._queue([27,29,121,68,49,0,o%255,o/255,a]),this._queue([27,29,121,80]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%24!=0)throw new Error("Height must be a multiple of 24");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,i)=>a.data[4*(t*i+e)]>0?0:1;this._queue([27,48]);for(let e=0;e>8&255,s,10,13])}return this._queue([27,122,1]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([27,100,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=200),void 0===i&&(i=200),t=Math.min(127,Math.round(t/10)),i=Math.min(127,Math.round(i/10)),this._queue([27,7,255&t,255&i,e?26:7]),this}flush(){return this._queue([27,29,80,48,27,29,80,49]),this}raw(e){return this._queue(e),this}encode(){this._options.autoFlush&&this.flush(),this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}class E{constructor(e){const t={"esc-pos":v,"star-prnt":q};if(void 0===e||void 0===e.language)throw new Error("You need to specify the language of the thermal printer");if(void 0===t[e.language])throw new Error("Language not supported by this library");this.language=e.language;const i=t[this.language].prototype;Object.getOwnPropertyNames(i).forEach((e=>{this[e]=i[e]})),this._reset(e)}}export{E as default};
diff --git a/dist/thermal-printer-encoder.umd.js b/dist/thermal-printer-encoder.umd.js
index a48e15a..8adde7e 100644
--- a/dist/thermal-printer-encoder.umd.js
+++ b/dist/thermal-printer-encoder.umd.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ThermalPrinterEncoder=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}},i={html:{skipScheme:"html",lineBreakScheme:"html",whitespace:"collapse"}},s=/<\s*br(?:[\s/]*|\s[^>]*)>/gi,n={unix:[/\n/g,"\n"],dos:[/\r\n/g,"\r\n"],mac:[/\r/g,"\r"],html:[s,"
"],xhtml:[s,"
"]},r={"ansi-color":/\x1B\[[^m]*m/g,html:/<[^>]*>/g,bbcode:/\[[^]]*\]/g},a={soft:1,hard:1},o={collapse:1,default:1,line:1,all:1},h={all:1,multi:1,none:1},l=/([sm])(\d+)/,c=/[-/\\^$*+?.()|[\]{}]/g;function p(e){return e.replace(c,"\\$&")}var d=t.exports=function(e,t,s){"object"==typeof e&&(e=(s=e).start,t=s.stop),"object"==typeof t&&(s=t,e=e||s.start,t=void 0),t||(t=e,e=0),s||(s={});var c,d,u,g,f,w,_,b,m,y,v,k,q,E,L,x,A,j,I="soft",M="default",R=4,B="all",S="",C="";if(c=s.preset)for(c instanceof Array||(c=[c]),j=0;j=0))throw new TypeError("tabWidth must be a non-negative integer");R=parseInt(s.tabWidth,10)}if(L=new Array(R+1).join(" "),s.respectLineBreaks){if(!h[s.respectLineBreaks]&&!l.test(s.respectLineBreaks))throw new TypeError('respectLineBreaks must be one of "'+Object.keys(h).join('", "')+'", "m", "s"');B=s.respectLineBreaks}if("multi"===B)B="m",w=2;else if(!h[B]){var O=l.exec(B);B=O[1],w=parseInt(O[2],10)}if(void 0!==s.preservedLineIndent){if(!(parseInt(s.preservedLineIndent,10)>=0))throw new TypeError("preservedLineIndent must be a non-negative integer");_=parseInt(s.preservedLineIndent,10)}if(_>0&&(S=new Array(_+1).join(" ")),void 0!==s.wrapLineIndent){if(isNaN(parseInt(s.wrapLineIndent,10)))throw new TypeError("wrapLineIndent must be an integer");b=parseInt(s.wrapLineIndent,10)}if(s.wrapLineIndentBase&&(m=s.wrapLineIndentBase),m){if(void 0===b)throw new TypeError("wrapLineIndent must be specified when wrapLineIndentBase is specified");if(m instanceof RegExp)E=m;else{if("string"!=typeof m)throw new TypeError("wrapLineIndentBase must be either a RegExp object or a string");E=new RegExp(p(m))}}else if(b>0)C=new Array(b+1).join(" ");else if(b<0)throw new TypeError("wrapLineIndent must be non-negative when a base is not specified");if(s.skipScheme){if(!r[s.skipScheme])throw new TypeError('skipScheme must be one of "'+Object.keys(r).join('", "')+'"');u=s.skipScheme}if(s.skip&&(d=s.skip),d)if(d instanceof RegExp)(y=d).global||(A="g",y.ignoreCase&&(A+="i"),y.multiline&&(A+="m"),y=new RegExp(y.source,A));else{if("string"!=typeof d)throw new TypeError("skip must be either a RegExp object or a string");y=new RegExp(p(d),"g")}if(!y&&u&&(y=r[u]),s.lineBreakScheme){if(!n[s.lineBreakScheme])throw new TypeError('lineBreakScheme must be one of "'+Object.keys(n).join('", "')+'"');f=s.lineBreakScheme}if(s.lineBreak&&(g=s.lineBreak),f&&(x=n[f])&&(v=x[0],k=x[1]),g)if(g instanceof Array&&(1===g.length?g=g[0]:g.length>=2&&(g[0]instanceof RegExp?(v=g[0],"string"==typeof g[1]&&(k=g[1])):g[1]instanceof RegExp?(v=g[1],"string"==typeof g[0]&&(k=g[0])):"string"==typeof g[0]&&"string"==typeof g[1]?(v=new RegExp(p(g[0]),"g"),k=g[1]):g=g[0])),"string"==typeof g)k=g,v||(v=new RegExp(p(g),"g"));else if(g instanceof RegExp)v=g;else if(!(g instanceof Array))throw new TypeError("lineBreak must be a RegExp object, a string, or an array consisted of a RegExp object and a string");v||(v=/\n/g,k="\n"),A="g",v.ignoreCase&&(A+="i"),v.multiline&&(A+="m"),q=new RegExp("\\s*(?:"+v.source+")(?:"+v.source+"|\\s)*",A),v.global||(v=new RegExp(v.source,A));var T="hard"===I?/\b/:/(\S+\s+)/,z=new Array(e+1).join(" "),U="default"===M||"collapse"===M,W="collapse"===M,N="line"===M,P="all"===M,H=/\t/g,G=/ +/g,K=/^\s+/,$=/\s+$/,F=/\S/,Q=/\s/,D=t-e;return function(i){var s;if(i=i.toString().replace(H,L),!k){if(v.lastIndex=0,!(s=v.exec(i)))throw new TypeError("Line break string for the output not specified");k=s[0]}var n,r,a,o,h,l,c,p,d,u=0;for(n=[],q.lastIndex=0,s=q.exec(i);s;){if(n.push(i.substring(u,s.index)),"none"!==B){for(a=[],o=0,v.lastIndex=0,r=v.exec(s[0]);r;)a.push(s[0].substring(o,r.index)),o=r.index+r[0].length,r=v.exec(s[0]);a.push(s[0].substring(o)),n.push({type:"break",breaks:a})}else h=W?" ":s[0].replace(v,""),n.push({type:"break",remaining:h});u=s.index+s[0].length,s=q.exec(i)}if(n.push(i.substring(u)),y)for(d=[],l=0;lt&&(V=V||t,r=a.length-(R-V),O[M]=a.substring(0,r)),V=0;else{for(s=a.length-1;s>=e&&" "===a[s];)s--;for(;s>=e&&Q.test(a[s]);)s--;++s!==a.length&&(O[M]=a.substring(0,s)),J&&Y&&N&&R>t&&(r=a.length-(R-t))=0&&s+b>0?new Array(s+b+1).join(" "):"")),r){for(;r+Dt&&R+(te=ee.replace($,"")).length>t&&""!==te&&R>e){if(j=Z(!1),O.push(z+X),M++,R=e+X.length,j){O[M]+=j,R+=j.length,Y=!0;continue}!U&&(!N||J&&Y)||(ee=ee.replace(K,"")),Y=!1}else Y&&(U||N&&(!J||!Y)?""!==(ee=ee.replace(K,""))&&(Y=!1):F.test(ee)&&(Y=!1));break}P&&te&&R+te.length>t&&(V=R+te.length),O[M]+=ee,R+=ee.length}else if("break"===ee.type)if("none"!==B){var ie=ee.breaks,se=ie.length-1;if("s"===B){for(c=0;ct&&(j=Z(!1),O.push(z+X),M++,R=e+X.length,j&&(O[M]+=j,R+=j.length),Y=!0),O[M]+=ee.value)}return Z(!0),O.join(k)}};d.soft=d,d.hard=function(){var e=[].slice.call(arguments),t=e.length-1;return"object"==typeof e[t]?e[t].mode="hard":e.push({mode:"hard"}),d.apply(null,e)},d.wrap=function(e){var t=[].slice.call(arguments);return t.shift(),d.apply(null,t)(e)};var u=e(t.exports),g=function(e,t){return Object.assign(document.createElement("canvas"),{width:e,height:t})};var f=e(new class{grayscale(e){for(let t=0;t?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},cp865:{name:"Nordic",languages:["sv","dk"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp866:{name:"Cyrillic 2",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},cp869:{name:"Greek",languages:["el"],offset:128,chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄±υφχ§ψ΅°¨ωϋΰώ■ "},cp874:{name:"Thai",languages:["th"],offset:128,chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp1098:{name:"Farsi",languages:["fa"],offset:128,chars:" ،؛؟ًآﺂاﺎءأﺄؤﺋبﺑﭖﭘتﺗثﺛجﺟﭺﭼ×حﺣخﺧدذرزﮊسﺳشﺷصﺻ«»░▒▓│┤ضﺿﻁﻃ╣║╗╝¤ﻅ┐└┴┬├─┼ﻇع╚╔╩╦╠═╬ ﻊﻋﻌغﻎﻏﻐفﻓ┘┌█▄قﻗ▀ﮎﻛﮒﮔلﻟمﻣنﻧوهﻫﻬﮤﯼﯽﯾـ٠١٢٣٤٥٦٧٨٩■ "},cp1118:{name:"Lithuanian",languages:["lt"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀αβΓπΣσµτΦΘΩδ∞φε⋂≡±≥≤„“÷≈°∙˙√ⁿ²■ "},cp1119:{name:"Lithuanian",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁё≥≤„“÷≈°∙·√ⁿ²■ "},cp1125:{name:"Ukrainian",languages:["uk"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},cp1162:{name:"Thai",languages:["th"],offset:128,chars:"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp2001:{name:"Lithuanian KBL or 771",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█ĄąČčрстуфхцчшщъыьэюяĘęĖėĮįŠšŲųŪūŽž■ "},cp3001:{name:"Estonian 1 or 1116",languages:["et"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤šŠÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµžŽÚÛÙýݯ´±‗¾¶§÷¸°¨·¹³²■ "},cp3002:{name:"Estonian 2",languages:["et"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},cp3011:{name:"Latvian 1",languages:["lv"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤Ā╢ņ╕╣║╗╝╜╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀αßΓπΣσµτΦΘΩδ∞φε∩ĒēĢķĶļĻžŽ∙·√Ņš■ "},cp3012:{name:"Latvian 2 (modified 866)",languages:["lv"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤Ā╢ņ╕╣║╗╝Ō╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀рстуфхцчшщъыьэюяĒēĢķĶļĻžŽō·√Ņš■ "},cp3021:{name:"Bulgarian (MIK)",languages:["bg"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3041:{name:"Maltese ISO 646",languages:["mt"],offset:0,chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZġżħ^_ċabcdefghijklmnopqrstuvwxyzĠŻĦĊ"},cp3840:{name:"Russian (modified 866)",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюя≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3841:{name:"Ghost",languages:["ru"],offset:128,chars:"ғәёіїјҝөўүӽӈҹҷє£ҒӘЁІЇЈҜӨЎҮӼӇҸҶЄЪ !\"#$%&'()*+,-./0123456789:;<=>?юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧ∅"},cp3843:{name:"Polish (Mazovia)",languages:["pl"],offset:128,chars:"ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3844:{name:"Czech (Kamenický)",languages:["cz"],offset:128,chars:"ČüéďäĎŤčěĚĹÍľĺÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3845:{name:"Hungarian (CWI-2)",languages:["hu"],offset:128,chars:"ÇüéâäàåçêëèïîÍÄÁÉæÆőöÓűÚŰÖÜ¢£¥₧ƒáíóúñÑªŐ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3846:{name:"Turkish",languages:["tr"],offset:128,chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜ¢£¥ŞşáíóúñÑĞğ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3847:{name:"Brazil ABNT",languages:["pt"],offset:256,chars:""},cp3848:{name:"Brazil ABICOMP",languages:["pt"],offset:160,chars:" ÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖŒÙÚÛÜŸ¨£¦§°¡àáâãäçèéêëìíîïñòóôõöœùúûüÿߪº¿±"},iso88591:{name:"Latin 1",languages:["en"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},iso88592:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"
Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},iso88597:{name:"Greek",languages:["el"],offset:128,chars:"
‘’£€₯¦§¨©ͺ«¬�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},iso885915:{name:"Latin 9",languages:["fr"],offset:128,chars:"
¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},rk1048:{name:"Kazakh",languages:["kk"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1250:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},windows1251:{name:"Cyrillic",languages:["ru"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1252:{name:"Latin",languages:["fr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},windows1253:{name:"Greek",languages:["el"],offset:128,chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},windows1254:{name:"Turkish",languages:["tr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},windows1255:{name:"Hebrew",languages:["he"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת���"},windows1256:{name:"Arabic",languages:["ar"],offset:128,chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œں ،¢£¤¥¦§¨©ھ«¬®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûüے"},windows1257:{name:"Baltic Rim",languages:["et","lt"],offset:128,chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},windows1258:{name:"Vietnamese",languages:["vi"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"}},b={en:"The quick brown fox jumps over the lazy dog.",jp:"イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム",pt:"O próximo vôo à noite sobre o Atlântico, põe freqüentemente o único médico.",fr:"Les naïfs ægithales hâtifs pondant à Noël où il gèle sont sûrs d'être déçus en voyant leurs drôles d'œufs abîmés.",sv:"Flygande bäckasiner söka strax hwila på mjuka tuvor.",dk:"Quizdeltagerne spiste jordbær med fløde",el:"ξεσκεπάζω την ψυχοφθόρα βδελυγμία",tr:"Pijamalı hasta, yağız şoföre çabucak güvendi.",ru:"Съешь же ещё этих мягких французских булок да выпей чаю",hu:"Árvíztűrő tükörfúrógép",pl:"Pchnąć w tę łódź jeża lub ośm skrzyń fig",cz:"Mohu jíst sklo, neublíží mi.",ar:"أنا قادر على أكل الزجاج و هذا لا يؤلمني.",et:"Ma võin klaasi süüa, see ei tee mulle midagi.",lt:"Aš galiu valgyti stiklą ir jis manęs nežeidžia.",bg:"Мога да ям стъкло, то не ми вреди.",is:"Ég get etið gler án þess að meiða mig.",he:"אני יכול לאכול זכוכית וזה לא מזיק לי.",fa:".من می توانم بدونِ احساس درد شيشه بخورم",uk:"Я можу їсти скло, і воно мені не зашкодить.",vi:"Tôi có thể ăn thủy tinh mà không hại gì.",kk:"қазақша",lv:"Es varu ēst stiklu, tas man nekaitē.",mt:"Nista' niekol il-ħġieġ u ma jagħmilli xejn.",th:"ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ"};class m{static getEncodings(){return Object.keys(_)}static getTestStrings(e){return void 0!==_[e]&&void 0!==_[e].languages?_[e].languages.map((e=>({language:e,string:b[e]}))):[]}static supports(e){return void 0!==_[e]&&void 0!==_[e].chars}static encode(e,t){const i=new Uint8Array(e.length);let s="\0".repeat(128),n=128;void 0!==_[t]&&void 0!==_[t].chars&&(s=_[t].chars,n=_[t].offset);for(let t=0;t=n+s.length)?i[t]=r:i[t]=63}}return i}static autoEncode(e,t){const i=[];let s,n=-1;for(let r=0;rthis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e8)throw new Error("Width must be between 1 and 8");return this._state.width=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>8)throw new Error("Height must be between 1 and 8");return this._state.height=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([29,66,Number(e)]),this}size(e){return e="small"===e?1:0,this._queue([27,77,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i64?this._queue([29,107,s[t],n.length,n]):this._queue([29,107,s[t],n,0])}return this._flush(),this}qrcode(e,t,i,s){if(this._embedded)throw new Error("QR codes are not supported in table cells or boxes");this._queue([10]);const n={1:49,2:50};if(void 0===t&&(t=2),!(t in n))throw new Error("Model must be 1 or 2");if(this._queue([29,40,107,4,0,49,65,n[t],0]),void 0===i&&(i=6),"number"!=typeof i)throw new Error("Size must be a number");if(i<1||i>8)throw new Error("Size must be between 1 and 8");this._queue([29,40,107,3,0,49,67,i]);const r={l:48,m:49,q:50,h:51};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([29,40,107,3,0,49,69,r[s]]);const a=m.encode(e,"iso88591"),o=a.length+3;return this._queue([29,40,107,o%255,o/255,49,80,48,a]),this._queue([29,40,107,3,0,49,81,48]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%8!=0)throw new Error("Height must be a multiple of 8");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,s)=>e0?0:1:0,h=(e,t)=>{const i=new Uint8Array(e*t>>3);for(let s=0;s>3)+(t>>3)]|=o(t+n,s)<<7-n;return i};return 0!=this._cursor&&this.newline(),"column"==this._options.imageMode&&(this._queue([27,51,36]),((e,t)=>{const i=[];for(let s=0;s{this._queue([27,42,33,255&t,t>>8&255,e,10])})),this._queue([27,50])),"raster"==this._options.imageMode&&this._queue([29,118,48,0,t>>3&255,t>>3>>8&255,255&i,i>>8&255,h(t,i)]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([29,86,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=100),void 0===i&&(i=500),t=Math.min(500,Math.round(t/2)),i=Math.min(500,Math.round(i/2)),this._queue([27,112,e?1:0,255&t,255&i]),this}raw(e){return this._queue(e),this}encode(){this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}const k={star:{cp437:1,cp858:4,cp852:5,cp860:6,cp861:7,cp863:8,cp865:9,cp866:10,cp855:11,cp857:12,cp862:13,cp864:14,cp737:15,cp869:17,cp874:20,windows1252:32,windows1250:33,windows1251:34}};class q{constructor(e){this._reset(e)}_reset(e){this._options=Object.assign({width:null,embedded:!1,wordWrap:!0,codepageMapping:"star",codepageCandidates:["cp437","cp858","cp860","cp861","cp863","cp865","cp852","cp857","cp855","cp866","cp869"]},e),this._embedded=this._options.width&&this._options.embedded,this._buffer=[],this._queued=[],this._cursor=0,this._codepage="ascii",this._state={codepage:0,align:"left",bold:!1,italic:!1,underline:!1,invert:!1,width:1,height:1}}_encode(e){if("auto"!=this._codepage)return m.encode(e,this._codepage);let t;t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping;const i=m.autoEncode(e,this._options.codepageCandidates);let s=0;for(let e=0;ethis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,29,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64,24]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,29,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e6)throw new Error("Width must be between 1 and 6");return this._state.width=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>6)throw new Error("Height must be between 1 and 6");return this._state.height=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([27,e?52:53]),this}size(e){return e="smaller"===e?2:"small"===e?1:0,this._queue([27,30,70,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,29,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i8)throw new Error("Size must be between 1 and 8");this._queue([27,29,121,83,50,i]);const r={l:0,m:1,q:2,h:3};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([27,29,121,83,49,r[s]]);const a=m.encode(e,"iso88591"),o=a.length;return this._queue([27,29,121,68,49,0,o%255,o/255,a]),this._queue([27,29,121,80]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%24!=0)throw new Error("Height must be a multiple of 24");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,i)=>a.data[4*(t*i+e)]>0?0:1;this._queue([27,48]);for(let e=0;e>8&255,s,10,13])}return this._queue([27,122,1]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([27,100,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=200),void 0===i&&(i=200),t=Math.min(127,Math.round(t/10)),i=Math.min(127,Math.round(i/10)),this._queue([27,7,255&t,255&i,e?26:7]),this}raw(e){return this._queue(e),this}encode(){this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}return class{constructor(e){const t={"esc-pos":v,"star-prnt":q};if(void 0===e||void 0===e.language)throw new Error("You need to specify the language of the thermal printer");if(void 0===t[e.language])throw new Error("Language not supported by this library");this.language=e.language;const i=t[this.language].prototype;Object.getOwnPropertyNames(i).forEach((e=>{this[e]=i[e]})),this._reset(e)}}}));
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).ThermalPrinterEncoder=t()}(this,(function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}},i={html:{skipScheme:"html",lineBreakScheme:"html",whitespace:"collapse"}},s=/<\s*br(?:[\s/]*|\s[^>]*)>/gi,n={unix:[/\n/g,"\n"],dos:[/\r\n/g,"\r\n"],mac:[/\r/g,"\r"],html:[s,"
"],xhtml:[s,"
"]},r={"ansi-color":/\x1B\[[^m]*m/g,html:/<[^>]*>/g,bbcode:/\[[^]]*\]/g},a={soft:1,hard:1},o={collapse:1,default:1,line:1,all:1},h={all:1,multi:1,none:1},l=/([sm])(\d+)/,p=/[-/\\^$*+?.()|[\]{}]/g;function c(e){return e.replace(p,"\\$&")}var d=t.exports=function(e,t,s){"object"==typeof e&&(e=(s=e).start,t=s.stop),"object"==typeof t&&(s=t,e=e||s.start,t=void 0),t||(t=e,e=0),s||(s={});var p,d,u,g,f,w,_,b,m,y,v,k,q,E,L,x,A,j,I="soft",M="default",R=4,B="all",S="",C="";if(p=s.preset)for(p instanceof Array||(p=[p]),j=0;j=0))throw new TypeError("tabWidth must be a non-negative integer");R=parseInt(s.tabWidth,10)}if(L=new Array(R+1).join(" "),s.respectLineBreaks){if(!h[s.respectLineBreaks]&&!l.test(s.respectLineBreaks))throw new TypeError('respectLineBreaks must be one of "'+Object.keys(h).join('", "')+'", "m", "s"');B=s.respectLineBreaks}if("multi"===B)B="m",w=2;else if(!h[B]){var O=l.exec(B);B=O[1],w=parseInt(O[2],10)}if(void 0!==s.preservedLineIndent){if(!(parseInt(s.preservedLineIndent,10)>=0))throw new TypeError("preservedLineIndent must be a non-negative integer");_=parseInt(s.preservedLineIndent,10)}if(_>0&&(S=new Array(_+1).join(" ")),void 0!==s.wrapLineIndent){if(isNaN(parseInt(s.wrapLineIndent,10)))throw new TypeError("wrapLineIndent must be an integer");b=parseInt(s.wrapLineIndent,10)}if(s.wrapLineIndentBase&&(m=s.wrapLineIndentBase),m){if(void 0===b)throw new TypeError("wrapLineIndent must be specified when wrapLineIndentBase is specified");if(m instanceof RegExp)E=m;else{if("string"!=typeof m)throw new TypeError("wrapLineIndentBase must be either a RegExp object or a string");E=new RegExp(c(m))}}else if(b>0)C=new Array(b+1).join(" ");else if(b<0)throw new TypeError("wrapLineIndent must be non-negative when a base is not specified");if(s.skipScheme){if(!r[s.skipScheme])throw new TypeError('skipScheme must be one of "'+Object.keys(r).join('", "')+'"');u=s.skipScheme}if(s.skip&&(d=s.skip),d)if(d instanceof RegExp)(y=d).global||(A="g",y.ignoreCase&&(A+="i"),y.multiline&&(A+="m"),y=new RegExp(y.source,A));else{if("string"!=typeof d)throw new TypeError("skip must be either a RegExp object or a string");y=new RegExp(c(d),"g")}if(!y&&u&&(y=r[u]),s.lineBreakScheme){if(!n[s.lineBreakScheme])throw new TypeError('lineBreakScheme must be one of "'+Object.keys(n).join('", "')+'"');f=s.lineBreakScheme}if(s.lineBreak&&(g=s.lineBreak),f&&(x=n[f])&&(v=x[0],k=x[1]),g)if(g instanceof Array&&(1===g.length?g=g[0]:g.length>=2&&(g[0]instanceof RegExp?(v=g[0],"string"==typeof g[1]&&(k=g[1])):g[1]instanceof RegExp?(v=g[1],"string"==typeof g[0]&&(k=g[0])):"string"==typeof g[0]&&"string"==typeof g[1]?(v=new RegExp(c(g[0]),"g"),k=g[1]):g=g[0])),"string"==typeof g)k=g,v||(v=new RegExp(c(g),"g"));else if(g instanceof RegExp)v=g;else if(!(g instanceof Array))throw new TypeError("lineBreak must be a RegExp object, a string, or an array consisted of a RegExp object and a string");v||(v=/\n/g,k="\n"),A="g",v.ignoreCase&&(A+="i"),v.multiline&&(A+="m"),q=new RegExp("\\s*(?:"+v.source+")(?:"+v.source+"|\\s)*",A),v.global||(v=new RegExp(v.source,A));var T="hard"===I?/\b/:/(\S+\s+)/,z=new Array(e+1).join(" "),U="default"===M||"collapse"===M,W="collapse"===M,N="line"===M,P="all"===M,H=/\t/g,G=/ +/g,F=/^\s+/,K=/\s+$/,$=/\S/,Q=/\s/,D=t-e;return function(i){var s;if(i=i.toString().replace(H,L),!k){if(v.lastIndex=0,!(s=v.exec(i)))throw new TypeError("Line break string for the output not specified");k=s[0]}var n,r,a,o,h,l,p,c,d,u=0;for(n=[],q.lastIndex=0,s=q.exec(i);s;){if(n.push(i.substring(u,s.index)),"none"!==B){for(a=[],o=0,v.lastIndex=0,r=v.exec(s[0]);r;)a.push(s[0].substring(o,r.index)),o=r.index+r[0].length,r=v.exec(s[0]);a.push(s[0].substring(o)),n.push({type:"break",breaks:a})}else h=W?" ":s[0].replace(v,""),n.push({type:"break",remaining:h});u=s.index+s[0].length,s=q.exec(i)}if(n.push(i.substring(u)),y)for(d=[],l=0;lt&&(V=V||t,r=a.length-(R-V),O[M]=a.substring(0,r)),V=0;else{for(s=a.length-1;s>=e&&" "===a[s];)s--;for(;s>=e&&Q.test(a[s]);)s--;++s!==a.length&&(O[M]=a.substring(0,s)),J&&Y&&N&&R>t&&(r=a.length-(R-t))=0&&s+b>0?new Array(s+b+1).join(" "):"")),r){for(;r+Dt&&R+(te=ee.replace(K,"")).length>t&&""!==te&&R>e){if(j=Z(!1),O.push(z+X),M++,R=e+X.length,j){O[M]+=j,R+=j.length,Y=!0;continue}!U&&(!N||J&&Y)||(ee=ee.replace(F,"")),Y=!1}else Y&&(U||N&&(!J||!Y)?""!==(ee=ee.replace(F,""))&&(Y=!1):$.test(ee)&&(Y=!1));break}P&&te&&R+te.length>t&&(V=R+te.length),O[M]+=ee,R+=ee.length}else if("break"===ee.type)if("none"!==B){var ie=ee.breaks,se=ie.length-1;if("s"===B){for(p=0;pt&&(j=Z(!1),O.push(z+X),M++,R=e+X.length,j&&(O[M]+=j,R+=j.length),Y=!0),O[M]+=ee.value)}return Z(!0),O.join(k)}};d.soft=d,d.hard=function(){var e=[].slice.call(arguments),t=e.length-1;return"object"==typeof e[t]?e[t].mode="hard":e.push({mode:"hard"}),d.apply(null,e)},d.wrap=function(e){var t=[].slice.call(arguments);return t.shift(),d.apply(null,t)(e)};var u=e(t.exports),g=function(e,t){return Object.assign(document.createElement("canvas"),{width:e,height:t})};var f=e(new class{grayscale(e){for(let t=0;t?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},cp865:{name:"Nordic",languages:["sv","dk"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp866:{name:"Cyrillic 2",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},cp869:{name:"Greek",languages:["el"],offset:128,chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄±υφχ§ψ΅°¨ωϋΰώ■ "},cp874:{name:"Thai",languages:["th"],offset:128,chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp1098:{name:"Farsi",languages:["fa"],offset:128,chars:" ،؛؟ًآﺂاﺎءأﺄؤﺋبﺑﭖﭘتﺗثﺛجﺟﭺﭼ×حﺣخﺧدذرزﮊسﺳشﺷصﺻ«»░▒▓│┤ضﺿﻁﻃ╣║╗╝¤ﻅ┐└┴┬├─┼ﻇع╚╔╩╦╠═╬ ﻊﻋﻌغﻎﻏﻐفﻓ┘┌█▄قﻗ▀ﮎﻛﮒﮔلﻟمﻣنﻧوهﻫﻬﮤﯼﯽﯾـ٠١٢٣٤٥٦٧٨٩■ "},cp1118:{name:"Lithuanian",languages:["lt"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀αβΓπΣσµτΦΘΩδ∞φε⋂≡±≥≤„“÷≈°∙˙√ⁿ²■ "},cp1119:{name:"Lithuanian",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁё≥≤„“÷≈°∙·√ⁿ²■ "},cp1125:{name:"Ukrainian",languages:["uk"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},cp1162:{name:"Thai",languages:["th"],offset:128,chars:"€…‘’“”•–— กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp2001:{name:"Lithuanian KBL or 771",languages:["lt"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█ĄąČčрстуфхцчшщъыьэюяĘęĖėĮįŠšŲųŪūŽž■ "},cp3001:{name:"Estonian 1 or 1116",languages:["et"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø׃áíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤šŠÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµžŽÚÛÙýݯ´±‗¾¶§÷¸°¨·¹³²■ "},cp3002:{name:"Estonian 2",languages:["et"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},cp3011:{name:"Latvian 1",languages:["lv"],offset:128,chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤Ā╢ņ╕╣║╗╝╜╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀αßΓπΣσµτΦΘΩδ∞φε∩ĒēĢķĶļĻžŽ∙·√Ņš■ "},cp3012:{name:"Latvian 2 (modified 866)",languages:["lv"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤Ā╢ņ╕╣║╗╝Ō╛┐└┴┬├─┼ā╟╚╔╩╦╠═╬╧Š╤čČ╘╒ģĪī┘┌█▄ūŪ▀рстуфхцчшщъыьэюяĒēĢķĶļĻžŽō·√Ņš■ "},cp3021:{name:"Bulgarian (MIK)",languages:["bg"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3041:{name:"Maltese ISO 646",languages:["mt"],offset:0,chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZġżħ^_ċabcdefghijklmnopqrstuvwxyzĠŻĦĊ"},cp3840:{name:"Russian (modified 866)",languages:["ru"],offset:128,chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюя≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3841:{name:"Ghost",languages:["ru"],offset:128,chars:"ғәёіїјҝөўүӽӈҹҷє£ҒӘЁІЇЈҜӨЎҮӼӇҸҶЄЪ !\"#$%&'()*+,-./0123456789:;<=>?юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧ∅"},cp3843:{name:"Polish (Mazovia)",languages:["pl"],offset:128,chars:"ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖÜ¢Ł¥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3844:{name:"Czech (Kamenický)",languages:["cz"],offset:128,chars:"ČüéďäĎŤčěĚĹÍľĺÄÁÉžŽôöÓůÚýÖÜŠĽÝŘťáíóúňŇŮÔšřŕŔ¼§«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3845:{name:"Hungarian (CWI-2)",languages:["hu"],offset:128,chars:"ÇüéâäàåçêëèïîÍÄÁÉæÆőöÓűÚŰÖÜ¢£¥₧ƒáíóúñÑªŐ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3846:{name:"Turkish",languages:["tr"],offset:128,chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜ¢£¥ŞşáíóúñÑĞğ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp3847:{name:"Brazil ABNT",languages:["pt"],offset:256,chars:""},cp3848:{name:"Brazil ABICOMP",languages:["pt"],offset:160,chars:" ÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖŒÙÚÛÜŸ¨£¦§°¡àáâãäçèéêëìíîïñòóôõöœùúûüÿߪº¿±"},iso88591:{name:"Latin 1",languages:["en"],offset:128,chars:"
¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},iso88592:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"
Ą˘Ł¤ĽŚ§¨ŠŞŤŹŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},iso88597:{name:"Greek",languages:["el"],offset:128,chars:"
‘’£€₯¦§¨©ͺ«¬�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},iso885915:{name:"Latin 9",languages:["fr"],offset:128,chars:"
¡¢£€¥Š§š©ª«¬®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},rk1048:{name:"Kazakh",languages:["kk"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1250:{name:"Latin 2",languages:["hu","pl","cz"],offset:128,chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},windows1251:{name:"Cyrillic",languages:["ru"],offset:128,chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},windows1252:{name:"Latin",languages:["fr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},windows1253:{name:"Greek",languages:["el"],offset:128,chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},windows1254:{name:"Turkish",languages:["tr"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖ×ØÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},windows1255:{name:"Hebrew",languages:["he"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת���"},windows1256:{name:"Arabic",languages:["ar"],offset:128,chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œں ،¢£¤¥¦§¨©ھ«¬®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûüے"},windows1257:{name:"Baltic Rim",languages:["et","lt"],offset:128,chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},windows1258:{name:"Vietnamese",languages:["vi"],offset:128,chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"}},b={en:"The quick brown fox jumps over the lazy dog.",jp:"イロハニホヘト チリヌルヲ ワカヨタレソ ツネナラム",pt:"O próximo vôo à noite sobre o Atlântico, põe freqüentemente o único médico.",fr:"Les naïfs ægithales hâtifs pondant à Noël où il gèle sont sûrs d'être déçus en voyant leurs drôles d'œufs abîmés.",sv:"Flygande bäckasiner söka strax hwila på mjuka tuvor.",dk:"Quizdeltagerne spiste jordbær med fløde",el:"ξεσκεπάζω την ψυχοφθόρα βδελυγμία",tr:"Pijamalı hasta, yağız şoföre çabucak güvendi.",ru:"Съешь же ещё этих мягких французских булок да выпей чаю",hu:"Árvíztűrő tükörfúrógép",pl:"Pchnąć w tę łódź jeża lub ośm skrzyń fig",cz:"Mohu jíst sklo, neublíží mi.",ar:"أنا قادر على أكل الزجاج و هذا لا يؤلمني.",et:"Ma võin klaasi süüa, see ei tee mulle midagi.",lt:"Aš galiu valgyti stiklą ir jis manęs nežeidžia.",bg:"Мога да ям стъкло, то не ми вреди.",is:"Ég get etið gler án þess að meiða mig.",he:"אני יכול לאכול זכוכית וזה לא מזיק לי.",fa:".من می توانم بدونِ احساس درد شيشه بخورم",uk:"Я можу їсти скло, і воно мені не зашкодить.",vi:"Tôi có thể ăn thủy tinh mà không hại gì.",kk:"қазақша",lv:"Es varu ēst stiklu, tas man nekaitē.",mt:"Nista' niekol il-ħġieġ u ma jagħmilli xejn.",th:"ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ"};class m{static getEncodings(){return Object.keys(_)}static getTestStrings(e){return void 0!==_[e]&&void 0!==_[e].languages?_[e].languages.map((e=>({language:e,string:b[e]}))):[]}static supports(e){return void 0!==_[e]&&void 0!==_[e].chars}static encode(e,t){const i=new Uint8Array(e.length);let s="\0".repeat(128),n=128;void 0!==_[t]&&void 0!==_[t].chars&&(s=_[t].chars,n=_[t].offset);for(let t=0;t=n+s.length)?i[t]=r:i[t]=63}}return i}static autoEncode(e,t){const i=[];let s,n=-1;for(let r=0;rthis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?y[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e8)throw new Error("Width must be between 1 and 8");return this._state.width=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>8)throw new Error("Height must be between 1 and 8");return this._state.height=e,this._queue([29,33,this._state.height-1|this._state.width-1<<4]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([29,66,Number(e)]),this}size(e){return e="small"===e?1:0,this._queue([27,77,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i64?this._queue([29,107,s[t],n.length,n]):this._queue([29,107,s[t],n,0])}return this._flush(),this}qrcode(e,t,i,s){if(this._embedded)throw new Error("QR codes are not supported in table cells or boxes");this._queue([10]);const n={1:49,2:50};if(void 0===t&&(t=2),!(t in n))throw new Error("Model must be 1 or 2");if(this._queue([29,40,107,4,0,49,65,n[t],0]),void 0===i&&(i=6),"number"!=typeof i)throw new Error("Size must be a number");if(i<1||i>8)throw new Error("Size must be between 1 and 8");this._queue([29,40,107,3,0,49,67,i]);const r={l:48,m:49,q:50,h:51};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([29,40,107,3,0,49,69,r[s]]);const a=m.encode(e,"iso88591"),o=a.length+3;return this._queue([29,40,107,o%255,o/255,49,80,48,a]),this._queue([29,40,107,3,0,49,81,48]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%8!=0)throw new Error("Height must be a multiple of 8");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,s)=>e0?0:1:0,h=(e,t)=>{const i=new Uint8Array(e*t>>3);for(let s=0;s>3)+(t>>3)]|=o(t+n,s)<<7-n;return i};return 0!=this._cursor&&this.newline(),"column"==this._options.imageMode&&(this._queue([27,51,36]),((e,t)=>{const i=[];for(let s=0;s{this._queue([27,42,33,255&t,t>>8&255,e,10])})),this._queue([27,50])),"raster"==this._options.imageMode&&this._queue([29,118,48,0,t>>3&255,t>>3>>8&255,255&i,i>>8&255,h(t,i)]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([29,86,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=100),void 0===i&&(i=500),t=Math.min(500,Math.round(t/2)),i=Math.min(500,Math.round(i/2)),this._queue([27,112,e?1:0,255&t,255&i]),this}raw(e){return this._queue(e),this}encode(){this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}const k={star:{cp437:1,cp858:4,cp852:5,cp860:6,cp861:7,cp863:8,cp865:9,cp866:10,cp855:11,cp857:12,cp862:13,cp864:14,cp737:15,cp869:17,cp874:20,windows1252:32,windows1250:33,windows1251:34}};class q{constructor(e){this._reset(e||{})}_reset(e){e&&(this._options=Object.assign({width:null,embedded:!1,wordWrap:!0,autoFlush:!0,codepageMapping:"star",codepageCandidates:["cp437","cp858","cp860","cp861","cp863","cp865","cp852","cp857","cp855","cp866","cp869"]},e)),this._embedded=this._options.width&&this._options.embedded,this._buffer=[],this._queued=[],this._cursor=0,this._codepage="ascii",this._state={codepage:0,align:"left",bold:!1,italic:!1,underline:!1,invert:!1,width:1,height:1}}_encode(e){if("auto"!=this._codepage)return m.encode(e,this._codepage);let t;t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping;const i=m.autoEncode(e,this._options.codepageCandidates);let s=0;for(let e=0;ethis._queued.push(e)))}_flush(){if(this._embedded){let e=this._options.width-this._cursor;if("left"==this._state.align&&this._queued.push(new Array(e).fill(32)),"center"==this._state.align){const t=e%2;e>>=1,e>0&&this._queued.push(new Array(e).fill(32)),e+t>0&&this._queued.unshift(new Array(e+t).fill(32))}"right"==this._state.align&&this._queued.unshift(new Array(e).fill(32))}this._buffer=this._buffer.concat(this._queued),this._queued=[],this._cursor=0}_wrap(e,t){if(t||this._options.wordWrap&&this._options.width){const i="-".repeat(this._cursor);return u(t||this._options.width,{lineBreak:"\n",whitespace:"all"})(i+e).substring(this._cursor).split("\n")}return[e]}_restoreState(){this.bold(this._state.bold),this.italic(this._state.italic),this.underline(this._state.underline),this.invert(this._state.invert),this._queue([27,29,116,this._state.codepage])}_getCodepageIdentifier(e){let t;return t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,t[e]}initialize(){return this._queue([27,64,24]),this._flush(),this}codepage(e){if("auto"===e)return this._codepage=e,this;if(!m.supports(e))throw new Error("Unknown codepage");let t;if(t="string"==typeof this._options.codepageMapping?k[this._options.codepageMapping]:this._options.codepageMapping,void 0===t[e])throw new Error("Codepage not supported by printer");return this._codepage=e,this._state.codepage=t[e],this._queue([27,29,116,t[e]]),this}text(e,t){const i=this._wrap(e,t);for(let e=0;e6)throw new Error("Width must be between 1 and 6");return this._state.width=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}height(e){if(void 0===e&&(e=1),"number"!=typeof e)throw new Error("Height must be a number");if(e<1||e>6)throw new Error("Height must be between 1 and 6");return this._state.height=e,this._queue([27,105,this._state.height-1,this._state.width-1]),this}invert(e){return void 0===e&&(e=!this._state.invert),this._state.invert=e,this._queue([27,e?52:53]),this}size(e){return e="smaller"===e?2:"small"===e?1:0,this._queue([27,30,70,e]),this}align(e){const t={left:0,center:1,right:2};if(!(e in t))throw new Error("Unknown alignment");return this._state.align=e,this._embedded||this._queue([27,29,97,t[e]]),this}table(e,t){0!=this._cursor&&this.newline();for(let i=0;i8)throw new Error("Size must be between 1 and 8");this._queue([27,29,121,83,50,i]);const r={l:0,m:1,q:2,h:3};if(void 0===s&&(s="m"),!(s in r))throw new Error("Error level must be l, m, q or h");this._queue([27,29,121,83,49,r[s]]);const a=m.encode(e,"iso88591"),o=a.length;return this._queue([27,29,121,68,49,0,o%255,o/255,a]),this._queue([27,29,121,80]),this._flush(),this}image(e,t,i,s,n){if(this._embedded)throw new Error("Images are not supported in table cells or boxes");if(t%8!=0)throw new Error("Width must be a multiple of 8");if(i%24!=0)throw new Error("Height must be a multiple of 24");void 0===s&&(s="threshold"),void 0===n&&(n=128);const r=g(t,i).getContext("2d");r.drawImage(e,0,0,t,i);let a=r.getImageData(0,0,t,i);switch(a=w.flatten(a,[255,255,255]),s){case"threshold":a=f.threshold(a,n);break;case"bayer":a=f.bayer(a,n);break;case"floydsteinberg":a=f.floydsteinberg(a);break;case"atkinson":a=f.atkinson(a)}const o=(e,i)=>a.data[4*(t*i+e)]>0?0:1;this._queue([27,48]);for(let e=0;e>8&255,s,10,13])}return this._queue([27,122,1]),this._flush(),this}cut(e){if(this._embedded)throw new Error("Cut is not supported in table cells or boxes");let t=0;return"partial"==e&&(t=1),this._queue([27,100,t]),this}pulse(e,t,i){if(this._embedded)throw new Error("Pulse is not supported in table cells or boxes");return void 0===e&&(e=0),void 0===t&&(t=200),void 0===i&&(i=200),t=Math.min(127,Math.round(t/10)),i=Math.min(127,Math.round(i/10)),this._queue([27,7,255&t,255&i,e?26:7]),this}flush(){return this._queue([27,29,80,48,27,29,80,49]),this}raw(e){return this._queue(e),this}encode(){this._options.autoFlush&&this.flush(),this._flush();let e=0;this._buffer.forEach((t=>{"number"==typeof t?e++:e+=t.length}));const t=new Uint8Array(e);let i=0;return this._buffer.forEach((e=>{"number"==typeof e?(t[i]=e,i++):(t.set(e,i),i+=e.length)})),this._reset(),t}}return class{constructor(e){const t={"esc-pos":v,"star-prnt":q};if(void 0===e||void 0===e.language)throw new Error("You need to specify the language of the thermal printer");if(void 0===t[e.language])throw new Error("Language not supported by this library");this.language=e.language;const i=t[this.language].prototype;Object.getOwnPropertyNames(i).forEach((e=>{this[e]=i[e]})),this._reset(e)}}}));
diff --git a/package-lock.json b/package-lock.json
index ec560c0..ea44e2b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,16 +1,16 @@
{
"name": "thermal-printer-encoder",
- "version": "2.0.1",
+ "version": "2.0.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "thermal-printer-encoder",
- "version": "2.0.1",
+ "version": "2.0.2",
"license": "MIT",
"dependencies": {
- "esc-pos-encoder": "^2.0.2",
- "star-prnt-encoder": "^2.0.1"
+ "esc-pos-encoder": "^2.0.4",
+ "star-prnt-encoder": "^2.0.3"
},
"devDependencies": {
"@rollup/plugin-alias": "^5.0.0",
@@ -865,9 +865,9 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/esc-pos-encoder": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esc-pos-encoder/-/esc-pos-encoder-2.0.2.tgz",
- "integrity": "sha512-CUPyTdmafOYpN5CktHkWH7SE4DoCc5bCj+WffCy7dHiyJCQcnJVwSBMFtWqkBgnVTeP9HbS1H0Ug3NUUODuQXA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/esc-pos-encoder/-/esc-pos-encoder-2.0.4.tgz",
+ "integrity": "sha512-x/9xcSYmMir98zftys7PFXEOxzsWGMJDgKdPENQffHY1rY3gtVOu+6iGjOGHVVvWWn5es2lX7rZwPIf9P4Or8Q==",
"dependencies": {
"canvas": "^2.11.2",
"canvas-dither": "^1.0.1",
@@ -2405,9 +2405,9 @@
}
},
"node_modules/star-prnt-encoder": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/star-prnt-encoder/-/star-prnt-encoder-2.0.1.tgz",
- "integrity": "sha512-BlDjt28pqnKcGjl3w/AVkBKhL6qXKoOviwU0J//MhalEzqKx6AucDok1/GcNUDXFrKByabh/VGf3F4GWsNmhAA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/star-prnt-encoder/-/star-prnt-encoder-2.0.3.tgz",
+ "integrity": "sha512-lCfSwDVf3QZ5uakRTyBFUsLYeBqy0t6GOj94qH36BytnMmyY2kj15sf/cujcqkFZGLY0gw/1e/2aE919uU8osQ==",
"dependencies": {
"canvas": "^2.11.2",
"canvas-dither": "^1.0.1",
@@ -3342,9 +3342,9 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"esc-pos-encoder": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esc-pos-encoder/-/esc-pos-encoder-2.0.2.tgz",
- "integrity": "sha512-CUPyTdmafOYpN5CktHkWH7SE4DoCc5bCj+WffCy7dHiyJCQcnJVwSBMFtWqkBgnVTeP9HbS1H0Ug3NUUODuQXA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/esc-pos-encoder/-/esc-pos-encoder-2.0.4.tgz",
+ "integrity": "sha512-x/9xcSYmMir98zftys7PFXEOxzsWGMJDgKdPENQffHY1rY3gtVOu+6iGjOGHVVvWWn5es2lX7rZwPIf9P4Or8Q==",
"requires": {
"canvas": "^2.11.2",
"canvas-dither": "^1.0.1",
@@ -4445,9 +4445,9 @@
}
},
"star-prnt-encoder": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/star-prnt-encoder/-/star-prnt-encoder-2.0.1.tgz",
- "integrity": "sha512-BlDjt28pqnKcGjl3w/AVkBKhL6qXKoOviwU0J//MhalEzqKx6AucDok1/GcNUDXFrKByabh/VGf3F4GWsNmhAA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/star-prnt-encoder/-/star-prnt-encoder-2.0.3.tgz",
+ "integrity": "sha512-lCfSwDVf3QZ5uakRTyBFUsLYeBqy0t6GOj94qH36BytnMmyY2kj15sf/cujcqkFZGLY0gw/1e/2aE919uU8osQ==",
"requires": {
"canvas": "^2.11.2",
"canvas-dither": "^1.0.1",
diff --git a/package.json b/package.json
index b52589a..dfe6a22 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "thermal-printer-encoder",
- "version": "2.0.1",
+ "version": "2.0.2",
"description": "Create a set of commands that can be send to any receipt printer that supports ESC/POS or StarPRNT",
"type": "module",
"exports": {
@@ -47,7 +47,7 @@
"rollup": "^3.20.7"
},
"dependencies": {
- "esc-pos-encoder": "^2.0.2",
- "star-prnt-encoder": "^2.0.1"
+ "esc-pos-encoder": "^2.0.4",
+ "star-prnt-encoder": "^2.0.3"
}
}