UNPKG

bwip-angular2

Version:

JavaScript barcode generator supporting over 90 types and standards.

1,516 lines (1,481 loc) 1.21 MB
// bwip-js // Barcode Writer in Pure JavaScript // https://github.com/metafloor/bwip-js // // This code was automatically generated from: // Barcode Writer in Pure PostScript - Version 2018-02-04 // // Copyright (c) 2011-2019 Mark Warren // Copyright (c) 2004-2014 Terry Burton // // Licensed MIT. See the LICENSE file in the bwip-js root directory. "use strict"; function BWIPP() { // bwip-js/barcode-hdr.js // // This code is injected above the cross-compiled barcode.ps. // The BWIPJS object (graphics interface) var $$ = null; // The global dictionary. Each renderer and encoder declare a // $1 local dict. var $0 = { $error: {} // the postscript error object }; var $j = 0; // stack pointer var $k = []; // operand stack var $b = {}; // break symbol // Array ctor // $a() : Build a new array up to the Infinity-marker on the stack. // $a(arr) : Convert native array to a "view" of the array. // $a(len) : Create a new array of length `len` function $a(a) { if (!arguments.length) { for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i--); if (i < 0) { throw new Error('array-marker-not-found'); } a = $k.splice(i + 1, $j - 1 - i); $j = i; } else if (!(a instanceof Array)) { a = new Array(+arguments[0]); for (var i = 0, l = a.length; i < l; i++) { a[i] = null; } } a.b = a; // base array a.o = 0; // offset into base return a; } // dict ctor // $d() : look for the Infinity marker on the stack function $d() { var d = {}; for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i -= 2) { if ($k[i - 1] === Infinity) { throw new Error('dict-malformed-stack'); } // Unlike javascript, postscript dict keys differentiate between // numbers and the string representation of a number. var k = $k[i - 1]; // "key" into the dict entry var t = typeof k; if (t === 'number') { d['\uffff' + k] = $k[i]; } else if (t === 'string') { d[k] = $k[i]; } else if (k instanceof Uint8Array) { d[$z(k)] = $k[i]; } else { throw 'dict-not-a-valid-key(' + k + ')'; } } if (i < 0) { throw 'dict-marker-not-found'; } $j = i; return d; } // string ctor // s(number) : create zero-filled string of number-length // s(string) : make a copy of the string // s(uint8[]) : make a copy of the string // // Returns a Uint8Array-string. function $s(v) { var t = typeof v; if (t === 'number') { return new Uint8Array(v); } if (t !== 'string') { v = '' + v; } var s = new Uint8Array(v.length); for (var i = 0; i < v.length; i++) { s[i] = v.charCodeAt(i); } return s; } // Primarily designed to convert uint8-string to string, but will call the // the toString() method on any value. function $z(s) { if (s instanceof Uint8Array) { // Postscript treats nul-char as end of string, even if string is // longer. for (var i = 0, l = s.length; i < l && s[i]; i++); if (i < l) { return String.fromCharCode.apply(null, s.subarray(0, i)); } return String.fromCharCode.apply(null, s) } return '' + s; } // Copies source to dest and returns a view of just the copied characters function $strcpy(dst, src) { if (typeof dst === 'string') { dst = $s(dst); } if (src instanceof Uint8Array) { for (var i = 0, l = src.length; i < l; i++) { dst[i] = src[i]; } } else { for (var i = 0, l = src.length; i < l; i++) { dst[i] = src.charCodeAt(i); } } return src.length < dst.length ? dst.subarray(0, src.length) : dst; } // Copies source to dest and should (but doesn't) return a view of just the copied elements function $arrcpy(dst, src) { for (var i = 0, l = src.length; i < l; i++) { dst[i] = src[i]; } dst.length = src.length; return dst; } // cvs operator - convert a value to its string representation // s : string to store into // v : any value function $cvs(s, v) { var t = typeof v; if (t == 'number' || t == 'boolean' || v === null) { v = '' + v; } else if (t !== 'string') { v = '--nostringval--'; } for (var i = 0, l = v.length; i < l; i++) { s[i] = v.charCodeAt(i); } $k[$j++] = i < s.length ? s.subarray(0, i) : s; } // cvrs operator - convert a number to a radix string // s : string to store into // n : number // r : radix function $cvrs(s, n, r) { return $strcpy(s, (~~n).toString(r).toUpperCase()); } // get operator // s : source // k : key function $get(s, k) { if (s instanceof Uint8Array) { return s[k]; } if (typeof s === 'string') { return s.charCodeAt(k); } if (s instanceof Array) { return s.b[s.o + k]; } // Must be a dict object : with postscript dict objects, a number key // is differerent than its string representation. postscript uses // 8-bit strings, so \uffff can never be in a key value. if (typeof k === 'number') { return s['\uffff' + k]; } if (k instanceof Uint8Array) { return s[$z(k)]; } return s[k]; } // put operator // d : dest // k : key // v : value function $put(d, k, v) { if (d instanceof Uint8Array) { d[k] = v; } else if (d instanceof Array) { d.b[d.o + k] = v; } else if (typeof d == 'object') { if (k instanceof Uint8Array) { d[$z(k)] = v; } else { d[typeof k == 'number' ? '\uffff' + k : k] = v; } } else { throw 'put-not-writable-' + (typeof d); } } // getinterval operator // s : src // o : offset // l : length function $geti(s, o, l) { if (s instanceof Uint8Array) { return s.subarray(o, o + l); } if (s instanceof Array) { var a = new Array(l); a.b = s.b; // base array a.o = s.o + o; // offset into base return a; } // Must be a string return s.substr(o, l); } // putinterval operator // d : dst // o : offset // s : src function $puti(d, o, s) { if (d instanceof Uint8Array) { if (typeof s == 'string') { for (var i = 0, l = s.length; i < l; i++) { d[o + i] = s.charCodeAt(i); } } else { // When both d and s are the same, we want to copy // backwards, which works for the general case as well. for (var i = s.length - 1; i >= 0; i--) { d[o + i] = s[i]; } } } else if (d instanceof Array) { // Operate on the base arrays var darr = d.b; var doff = o + d.o; var sarr = s.b; var soff = s.o; for (var i = 0, l = s.length; i < l; i++) { darr[doff + i] = sarr[soff + i]; } } else { throw 'putinterval-not-writable-' + (typeof d); } } // type operator function $type(v) { // null can be mis-typed - get it out of the way if (v === null || v === undefined) { return 'nulltype'; } var t = typeof v; if (t == 'number') { return v % 1 ? 'realtype' : 'integertype'; } if (t == 'boolean') { return 'booleantype'; } if (t == 'string' || v instanceof Uint8Array) { return 'stringtype'; } if (t == 'function') { return 'operatortype'; } if (v instanceof Array) { return 'arraytype'; } return 'dicttype'; // filetype // fonttype // gstatetype // marktype (v === Infinity) // nametype // savetype } // search operator // string seek search suffix match prefix true %if-found // string false %if-not-found function $search(str, seek) { if (!(str instanceof Uint8Array)) { str = $s(str); } var ls = str.length; // Virtually all uses of search in BWIPP are for single-characters. // Optimize for that case. if (seek.length == 1) { var lk = 1; var cd = seek instanceof Uint8Array ? seek[0] : seek.charCodeAt(0); for (var i = 0; i < ls && str[i] != cd; i++); } else { // Slow path, if (!(seek instanceof Uint8Array)) { seek = $(seek); } var lk = seek.length; var cd = seek[0]; for (var i = 0; i < ls && str[i] != cd; i++); while (i < ls) { for (var j = 1; j < lk && str[i + j] === seek[j]; j++); if (j === lk) { break; } for (i++; i < ls && str[i] != cd; i++); } } if (i < ls) { $k[$j++] = str.subarray(i + lk); $k[$j++] = str.subarray(i, i + lk); $k[$j++] = str.subarray(0, i); $k[$j++] = true; } else { $k[$j++] = str; $k[$j++] = false; } } // The callback is omitted when forall is being used just to push onto the // stack. function $forall(o, cb) { if (o instanceof Uint8Array) { for (var i = 0, l = o.length; i < l; i++) { $k[$j++] = o[i]; if (cb && cb() == $b) break; } } else if (o instanceof Array) { // The array may be a view. for (var a = o.b, i = o.o, l = o.o + o.length; i < l; i++) { $k[$j++] = a[i]; if (cb && cb() == $b) break; } } else if (typeof o === 'string') { for (var i = 0, l = o.length; i < l; i++) { $k[$j++] = o.charCodeAt(i); if (cb && cb() == $b) break; } } else { for (var id in o) { $k[$j++] = id; $k[$j++] = o[id]; if (cb && cb() == $b) break; } } } function $cleartomark() { while ($j > 0 && $k[--$j] !== Infinity); } function $counttomark() { for (var i = $j - 1; i >= 0 && $k[i] !== Infinity; i--); return $j - i - 1; } function $aload(a) { for (var i = 0, l = a.length, b = a.b, o = a.o; i < l; i++) { $k[$j++] = b[o + i]; } // This push has been optimized out. See $.aload() in psc.js. //$k[$j++] = a; } function $astore(a) { for (var i = 0, l = a.length, b = a.b, o = a.o + l - 1; i < l; i++) { b[o - i] = $k[--$j]; } $k[$j++] = a; } function $eq(a, b) { if (typeof a === 'string' && typeof b === 'string') { return a == b; } if (a instanceof Uint8Array && b instanceof Uint8Array) { if (a.length != b.length) { return false; } for (var i = 0, l = a.length; i < l; i++) { if (a[i] != b[i]) { return false; } } return true; } if (a instanceof Uint8Array && typeof b === 'string' || b instanceof Uint8Array && typeof a === 'string') { if (a instanceof Uint8Array) { a = $z(a); } else { b = $z(b); } return a == b; } return a == b; } function $ne(a, b) { return !$eq(a, b); } function $lt(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a < b; } function $le(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a <= b; } function $gt(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a > b; } function $ge(a, b) { if (a instanceof Uint8Array) { a = $z(a); } if (b instanceof Uint8Array) { b = $z(b); } return a >= b; } function $an(a, b) { // and return (typeof a === 'boolean') ? a && b : a & b; } function $or(a, b) { // or return (typeof a === 'boolean') ? a || b : a | b; } function $xo(a, b) { // xor return (typeof a === 'boolean') ? !a && b || a && !b : a ^ b; } // DEBUG-BEGIN function $stack() { console.log('[[['); for (var i = $j - 1; i >= 0; i--) { console.log(tostring($k[i])); } console.log(']]]'); function tostring(v) { // null can be mis-typed - get it out of the way if (v === null) { return 'null'; } else if (v === undefined) { return '<undefined>'; } else if (v instanceof Array) { var s = '<array,' + v.o + ',' + v.length + '>['; for (var j = v.o, a = v.b, l = v.length + v.o; j < l; j++) { s += (j == v.o ? '' : ',') + tostring(a[j]); } return s + ']'; } else if (v instanceof Uint8Array) { return '(' + $z[v] + ')'; } else if (typeof v === 'object') { var s = '<<'; for (var id in v) { s += (s.length == 7 ? '' : ',') + id + ':' + tostring(v[id]); } return s + '>>'; } else if (typeof v === 'string') { return '"' + v + '"'; } else { return '' + v; } } } // DEBUG-END $0.raiseerror = function() { $0.$error.errorinfo = $k[--$j]; /*55*/ $0.$error.errorname = $k[--$j]; /*56*/ $0.$error.command = null; /*57*/ $0.$error.newerror = true; /*58*/ throw new Error($0.$error.errorname + ": " + $0.$error.errorinfo); /*59*/ }; $0.ean5 = function() { var $1 = {}; /*756*/ $1.options = $k[--$j]; /*758*/ $1.barcode = $k[--$j]; /*759*/ $1.dontdraw = false; /*761*/ $1.includetext = false; /*762*/ $1.textfont = "Helvetica"; /*763*/ $1.textsize = 12; /*764*/ $1.textxoffset = 0; /*765*/ $1.textyoffset = "unset"; /*766*/ $1.height = 0.7; /*767*/ $forall($1.options, function() { /*778*/ var _3 = $k[--$j]; /*778*/ $1[$k[--$j]] = _3; /*778*/ }); /*778*/ $1.textfont = "" + $1.textfont; /*780*/ $1.textsize = +$1.textsize; /*781*/ $1.height = +$1.height; /*782*/ $1.textxoffset = +$1.textxoffset; /*783*/ if ($eq($1.textyoffset, "unset")) { /*787*/ $1.textyoffset = ($1.height * 72) + 1; /*785*/ } else { /*787*/ $1.textyoffset = +$1.textyoffset; /*787*/ } /*787*/ if ($1.barcode.length != 5) { /*793*/ $k[$j++] = "bwipp.ean5badLength"; /*792*/ $k[$j++] = "EAN-5 add-on must be 5 digits"; /*792*/ $0.raiseerror(); /*792*/ } /*792*/ $forall($1.barcode, function() { /*798*/ var _E = $k[--$j]; /*795*/ if ((_E < 48) || (_E > 57)) { /*797*/ $k[$j++] = "bwipp.ean5badCharacter"; /*796*/ $k[$j++] = "EAN-5 add-on must contain only digits"; /*796*/ $0.raiseerror(); /*796*/ } /*796*/ }); /*796*/ $1.encs = $a(["3211", "2221", "2122", "1411", "1132", "1231", "1114", "1312", "1213", "3112", "112", "11"]); /*805*/ $1.barchars = "0123456789"; /*808*/ $1.mirrormaps = $a(["11000", "10100", "10010", "10001", "01100", "00110", "00011", "01010", "01001", "00101"]); /*814*/ $1.checksum = 0; /*815*/ for (var _H = 0; _H <= 4; _H += 1) { /*824*/ $1.i = _H; /*817*/ $1.barchar = $get($1.barcode, $1.i) - 48; /*818*/ if (($1.i % 2) == 0) { /*822*/ $1.checksum = ($1.barchar * 3) + $1.checksum; /*820*/ } else { /*822*/ $1.checksum = ($1.barchar * 9) + $1.checksum; /*822*/ } /*822*/ } /*822*/ $1.checksum = $1.checksum % 10; /*825*/ $1.mirrormap = $get($1.mirrormaps, $1.checksum); /*826*/ $1.sbs = $s(31); /*828*/ $1.txt = $a(5); /*829*/ for (var _W = 0; _W <= 4; _W += 1) { /*859*/ $1.i = _W; /*832*/ if ($1.i == 0) { /*838*/ $puti($1.sbs, 0, $get($1.encs, 10)); /*836*/ } else { /*838*/ $puti($1.sbs, (($1.i - 1) * 6) + 7, $get($1.encs, 11)); /*838*/ } /*838*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*842*/ $j--; /*843*/ $1.indx = $k[--$j].length; /*844*/ $j -= 2; /*845*/ $1.enc = $get($1.encs, $1.indx); /*846*/ if ($get($1.mirrormap, $1.i) == 49) { /*856*/ $1.enclen = $1.enc.length; /*848*/ $1.revenc = $s($1.enclen); /*849*/ for (var _v = 0, _u = $1.enclen - 1; _v <= _u; _v += 1) { /*854*/ $1.j = _v; /*851*/ $1.char = $get($1.enc, $1.j); /*852*/ $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); /*853*/ } /*853*/ $1.enc = $1.revenc; /*855*/ } /*855*/ $puti($1.sbs, ($1.i * 6) + 3, $1.enc); /*857*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ((($1.i - 1) * 9) + 13) + $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*858*/ } /*858*/ $k[$j++] = Infinity; /*873*/ $k[$j++] = "ren"; /*865*/ $k[$j++] = $0.renlinear; /*865*/ $k[$j++] = "sbs"; /*865*/ $k[$j++] = Infinity; /*865*/ var _1I = $1.sbs; /*864*/ for (var _1J = 0, _1K = _1I.length; _1J < _1K; _1J++) { /*864*/ $k[$j++] = $get(_1I, _1J) - 48; /*864*/ } /*864*/ var _1M = $a(); /*865*/ $k[$j++] = _1M; /*866*/ $k[$j++] = "bhs"; /*866*/ $k[$j++] = Infinity; /*866*/ for (var _1N = 0, _1O = 16; _1N < _1O; _1N++) { /*865*/ $k[$j++] = $1.height; /*865*/ } /*865*/ var _1Q = $a(); /*866*/ $k[$j++] = _1Q; /*867*/ $k[$j++] = "bbs"; /*867*/ $k[$j++] = Infinity; /*867*/ for (var _1R = 0, _1S = 16; _1R < _1S; _1R++) { /*866*/ $k[$j++] = 0; /*866*/ } /*866*/ var _1T = $a(); /*867*/ $k[$j++] = _1T; /*869*/ if ($1.includetext) { /*869*/ $k[$j++] = "txt"; /*868*/ $k[$j++] = $1.txt; /*868*/ } /*868*/ $k[$j++] = "opt"; /*873*/ $k[$j++] = $1.options; /*873*/ $k[$j++] = "guardrightpos"; /*873*/ $k[$j++] = 10; /*873*/ $k[$j++] = "guardrightypos"; /*873*/ $k[$j++] = $1.textyoffset + 4; /*873*/ $k[$j++] = "bordertop"; /*873*/ $k[$j++] = 10; /*873*/ var _1Y = $d(); /*873*/ $k[$j++] = _1Y; /*876*/ if (!$1.dontdraw) { /*876*/ $0.renlinear(); /*876*/ } /*876*/ }; $0.ean2 = function() { var $1 = {}; /*903*/ $1.options = $k[--$j]; /*905*/ $1.barcode = $k[--$j]; /*906*/ $1.dontdraw = false; /*908*/ $1.includetext = false; /*909*/ $1.textfont = "Helvetica"; /*910*/ $1.textsize = 12; /*911*/ $1.textxoffset = 0; /*912*/ $1.textyoffset = "unset"; /*913*/ $1.height = 0.7; /*914*/ $forall($1.options, function() { /*925*/ var _3 = $k[--$j]; /*925*/ $1[$k[--$j]] = _3; /*925*/ }); /*925*/ $1.textfont = "" + $1.textfont; /*927*/ $1.textsize = +$1.textsize; /*928*/ $1.height = +$1.height; /*929*/ $1.textxoffset = +$1.textxoffset; /*930*/ if ($eq($1.textyoffset, "unset")) { /*934*/ $1.textyoffset = ($1.height * 72) + 1; /*932*/ } else { /*934*/ $1.textyoffset = +$1.textyoffset; /*934*/ } /*934*/ if ($1.barcode.length != 2) { /*940*/ $k[$j++] = "bwipp.ean2badLength"; /*939*/ $k[$j++] = "EAN-2 add-on must be 2 digits"; /*939*/ $0.raiseerror(); /*939*/ } /*939*/ $forall($1.barcode, function() { /*945*/ var _E = $k[--$j]; /*942*/ if ((_E < 48) || (_E > 57)) { /*944*/ $k[$j++] = "bwipp.ean2badCharacter"; /*943*/ $k[$j++] = "EAN-2 add-on must contain only digits"; /*943*/ $0.raiseerror(); /*943*/ } /*943*/ }); /*943*/ $1.encs = $a(["3211", "2221", "2122", "1411", "1132", "1231", "1114", "1312", "1213", "3112", "112", "11"]); /*952*/ $1.barchars = "0123456789"; /*955*/ $1.mirrormap = $get($a(["00", "01", "10", "11"]), (~~$z($geti($1.barcode, 0, 2))) % 4); /*958*/ $1.sbs = $s(13); /*960*/ $1.txt = $a(2); /*961*/ for (var _M = 0; _M <= 1; _M += 1) { /*991*/ $1.i = _M; /*964*/ if ($1.i == 0) { /*970*/ $puti($1.sbs, 0, $get($1.encs, 10)); /*968*/ } else { /*970*/ $puti($1.sbs, (($1.i - 1) * 6) + 7, $get($1.encs, 11)); /*970*/ } /*970*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*974*/ $j--; /*975*/ $1.indx = $k[--$j].length; /*976*/ $j -= 2; /*977*/ $1.enc = $get($1.encs, $1.indx); /*978*/ if ($get($1.mirrormap, $1.i) == 49) { /*988*/ $1.enclen = $1.enc.length; /*980*/ $1.revenc = $s($1.enclen); /*981*/ for (var _l = 0, _k = $1.enclen - 1; _l <= _k; _l += 1) { /*986*/ $1.j = _l; /*983*/ $1.char = $get($1.enc, $1.j); /*984*/ $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); /*985*/ } /*985*/ $1.enc = $1.revenc; /*987*/ } /*987*/ $puti($1.sbs, ($1.i * 6) + 3, $1.enc); /*989*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ((($1.i - 1) * 9) + 13) + $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*990*/ } /*990*/ $k[$j++] = Infinity; /*1005*/ $k[$j++] = "ren"; /*997*/ $k[$j++] = $0.renlinear; /*997*/ $k[$j++] = "sbs"; /*997*/ $k[$j++] = Infinity; /*997*/ var _18 = $1.sbs; /*996*/ for (var _19 = 0, _1A = _18.length; _19 < _1A; _19++) { /*996*/ $k[$j++] = $get(_18, _19) - 48; /*996*/ } /*996*/ var _1C = $a(); /*997*/ $k[$j++] = _1C; /*998*/ $k[$j++] = "bhs"; /*998*/ $k[$j++] = Infinity; /*998*/ for (var _1D = 0, _1E = 12; _1D < _1E; _1D++) { /*997*/ $k[$j++] = $1.height; /*997*/ } /*997*/ var _1G = $a(); /*998*/ $k[$j++] = _1G; /*999*/ $k[$j++] = "bbs"; /*999*/ $k[$j++] = Infinity; /*999*/ for (var _1H = 0, _1I = 12; _1H < _1I; _1H++) { /*998*/ $k[$j++] = 0; /*998*/ } /*998*/ var _1J = $a(); /*999*/ $k[$j++] = _1J; /*1001*/ if ($1.includetext) { /*1001*/ $k[$j++] = "txt"; /*1000*/ $k[$j++] = $1.txt; /*1000*/ } /*1000*/ $k[$j++] = "opt"; /*1005*/ $k[$j++] = $1.options; /*1005*/ $k[$j++] = "guardrightpos"; /*1005*/ $k[$j++] = 10; /*1005*/ $k[$j++] = "guardrightypos"; /*1005*/ $k[$j++] = $1.textyoffset + 4; /*1005*/ $k[$j++] = "bordertop"; /*1005*/ $k[$j++] = 10; /*1005*/ var _1O = $d(); /*1005*/ $k[$j++] = _1O; /*1008*/ if (!$1.dontdraw) { /*1008*/ $0.renlinear(); /*1008*/ } /*1008*/ }; $0.ean13 = function() { var $1 = {}; /*1037*/ $1.options = $k[--$j]; /*1039*/ $1.barcode = $k[--$j]; /*1040*/ $1.dontdraw = false; /*1042*/ $1.includetext = false; /*1043*/ $1.textfont = "Helvetica"; /*1044*/ $1.textsize = 12; /*1045*/ $1.textxoffset = -10; /*1046*/ $1.textyoffset = -4.5; /*1047*/ $1.height = 1; /*1048*/ $1.addongap = 12; /*1049*/ $1.addontextfont = "unset"; /*1050*/ $1.addontextsize = "unset"; /*1051*/ $1.addontextxoffset = "unset"; /*1052*/ $1.addontextyoffset = "unset"; /*1053*/ $forall($1.options, function() { /*1064*/ var _3 = $k[--$j]; /*1064*/ $1[$k[--$j]] = _3; /*1064*/ }); /*1064*/ $1.textfont = "" + $1.textfont; /*1066*/ $1.textsize = +$1.textsize; /*1067*/ $1.textxoffset = +$1.textxoffset; /*1068*/ $1.textyoffset = +$1.textyoffset; /*1069*/ $1.height = +$1.height; /*1070*/ $1.addongap = +$1.addongap; /*1071*/ if ($ne($1.addontextfont, "unset")) { /*1072*/ $1.addontextfont = "" + $1.addontextfont; /*1072*/ } /*1072*/ if ($ne($1.addontextsize, "unset")) { /*1073*/ $1.addontextsize = +$1.addontextsize; /*1073*/ } /*1073*/ if ($ne($1.addontextxoffset, "unset")) { /*1074*/ $1.addontextxoffset = +$1.addontextxoffset; /*1074*/ } /*1074*/ if ($ne($1.addontextyoffset, "unset")) { /*1075*/ $1.addontextyoffset = +$1.addontextyoffset; /*1075*/ } /*1075*/ $search($1.barcode, " "); /*1078*/ if ($k[--$j]) { /*1084*/ $1.barcode = $k[--$j]; /*1079*/ $j--; /*1080*/ $1.addon = $k[--$j]; /*1081*/ } else { /*1084*/ $j--; /*1083*/ $1.addon = ""; /*1084*/ } /*1084*/ if (($1.barcode.length != 12) && ($1.barcode.length != 13)) { /*1090*/ $k[$j++] = "bwipp.ean13badLength"; /*1089*/ $k[$j++] = "EAN-13 must be 12 or 13 digits"; /*1089*/ $0.raiseerror(); /*1089*/ } /*1089*/ $forall($1.barcode, function() { /*1095*/ var _Q = $k[--$j]; /*1092*/ if ((_Q < 48) || (_Q > 57)) { /*1094*/ $k[$j++] = "bwipp.ean13badCharacter"; /*1093*/ $k[$j++] = "EAN-13 must contain only digits"; /*1093*/ $0.raiseerror(); /*1093*/ } /*1093*/ }); /*1093*/ if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { /*1098*/ $k[$j++] = "bwipp.ean13badAddOnLength"; /*1097*/ $k[$j++] = "Add-on for EAN-13 must be 2 or 5 digits"; /*1097*/ $0.raiseerror(); /*1097*/ } /*1097*/ $1.pad = $s(13); /*1101*/ $1.checksum = 0; /*1102*/ for (var _V = 0; _V <= 11; _V += 1) { /*1111*/ $1.i = _V; /*1104*/ $1.barchar = $get($1.barcode, $1.i) - 48; /*1105*/ if (($1.i % 2) == 0) { /*1109*/ $1.checksum = $1.barchar + $1.checksum; /*1107*/ } else { /*1109*/ $1.checksum = ($1.barchar * 3) + $1.checksum; /*1109*/ } /*1109*/ } /*1109*/ $1.checksum = (10 - ($1.checksum % 10)) % 10; /*1112*/ if ($1.barcode.length == 13) { /*1117*/ if ($get($1.barcode, 12) != ($1.checksum + 48)) { /*1116*/ $k[$j++] = "bwipp.ean13badCheckDigit"; /*1115*/ $k[$j++] = "Incorrect EAN-13 check digit provided"; /*1115*/ $0.raiseerror(); /*1115*/ } /*1115*/ } /*1115*/ $puti($1.pad, 0, $1.barcode); /*1118*/ $put($1.pad, 12, $1.checksum + 48); /*1119*/ $1.barcode = $1.pad; /*1120*/ $1.encs = $a(["3211", "2221", "2122", "1411", "1132", "1231", "1114", "1312", "1213", "3112", "111", "11111", "111"]); /*1127*/ $1.barchars = "0123456789"; /*1130*/ $1.mirrormaps = $a(["000000", "001011", "001101", "001110", "010011", "011001", "011100", "010101", "010110", "011010"]); /*1136*/ $1.sbs = $s(59); /*1138*/ $1.txt = $a(13); /*1139*/ $puti($1.sbs, 0, $get($1.encs, 10)); /*1142*/ $1.mirrormap = $get($1.mirrormaps, $get($1.barcode, 0) - 48); /*1145*/ $put($1.txt, 0, $a([$geti($1.barcode, 0, 1), $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*1146*/ for (var _17 = 1; _17 <= 6; _17 += 1) { /*1169*/ $1.i = _17; /*1151*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*1152*/ $j--; /*1153*/ $1.indx = $k[--$j].length; /*1154*/ $j -= 2; /*1155*/ $1.enc = $get($1.encs, $1.indx); /*1156*/ if ($get($1.mirrormap, $1.i - 1) == 49) { /*1166*/ $1.enclen = $1.enc.length; /*1158*/ $1.revenc = $s($1.enclen); /*1159*/ for (var _1O = 0, _1N = $1.enclen - 1; _1O <= _1N; _1O += 1) { /*1164*/ $1.j = _1O; /*1161*/ $1.char = $get($1.enc, $1.j); /*1162*/ $put($1.revenc, ($1.enclen - $1.j) - 1, $1.char); /*1163*/ } /*1163*/ $1.enc = $1.revenc; /*1165*/ } /*1165*/ $puti($1.sbs, (($1.i - 1) * 4) + 3, $1.enc); /*1167*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ((($1.i - 1) * 7) + 14) + $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*1168*/ } /*1168*/ $puti($1.sbs, ((7 - 1) * 4) + 3, $get($1.encs, 11)); /*1172*/ for (var _1o = 7; _1o <= 12; _1o += 1) { /*1185*/ $1.i = _1o; /*1177*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*1178*/ $j--; /*1179*/ $1.indx = $k[--$j].length; /*1180*/ $j -= 2; /*1181*/ $1.enc = $get($1.encs, $1.indx); /*1182*/ $puti($1.sbs, (($1.i - 1) * 4) + 8, $1.enc); /*1183*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ((($1.i - 1) * 7) + 18) + $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*1184*/ } /*1184*/ $puti($1.sbs, 56, $get($1.encs, 12)); /*1188*/ $k[$j++] = Infinity; /*1190*/ var _2E = $1.sbs; /*1190*/ for (var _2F = 0, _2G = _2E.length; _2F < _2G; _2F++) { /*1190*/ $k[$j++] = $get(_2E, _2F) - 48; /*1190*/ } /*1190*/ $1.sbs = $a(); /*1190*/ if ($1.includetext) { /*1197*/ $k[$j++] = Infinity; /*1192*/ $k[$j++] = $1.height; /*1192*/ $k[$j++] = $1.height; /*1192*/ for (var _2M = 0, _2N = 12; _2M < _2N; _2M++) { /*1192*/ $k[$j++] = $1.height - 0.075; /*1192*/ } /*1192*/ $k[$j++] = $1.height; /*1192*/ $k[$j++] = $1.height; /*1192*/ for (var _2R = 0, _2S = 12; _2R < _2S; _2R++) { /*1192*/ $k[$j++] = $1.height - 0.075; /*1192*/ } /*1192*/ $k[$j++] = $1.height; /*1192*/ $k[$j++] = $1.height; /*1192*/ $1.bhs = $a(); /*1192*/ $k[$j++] = Infinity; /*1193*/ $k[$j++] = 0; /*1193*/ $k[$j++] = 0; /*1193*/ for (var _2X = 0, _2Y = 12; _2X < _2Y; _2X++) { /*1193*/ $k[$j++] = 0.075; /*1193*/ } /*1193*/ $k[$j++] = 0; /*1193*/ $k[$j++] = 0; /*1193*/ for (var _2Z = 0, _2a = 12; _2Z < _2a; _2Z++) { /*1193*/ $k[$j++] = 0.075; /*1193*/ } /*1193*/ $k[$j++] = 0; /*1193*/ $k[$j++] = 0; /*1193*/ $1.bbs = $a(); /*1193*/ } else { /*1197*/ $k[$j++] = Infinity; /*1195*/ for (var _2c = 0, _2d = 30; _2c < _2d; _2c++) { /*1195*/ $k[$j++] = $1.height; /*1195*/ } /*1195*/ $1.bhs = $a(); /*1195*/ $k[$j++] = Infinity; /*1196*/ for (var _2g = 0, _2h = 30; _2g < _2h; _2g++) { /*1196*/ $k[$j++] = 0; /*1196*/ } /*1196*/ $1.bbs = $a(); /*1196*/ $1.txt = $a([]); /*1197*/ } /*1197*/ $1.guardrightypos = 0; /*1199*/ if ($ne($1.addon, "")) { /*1220*/ $k[$j++] = "addopts"; /*1210*/ $k[$j++] = Infinity; /*1210*/ $k[$j++] = "dontdraw"; /*1207*/ $k[$j++] = true; /*1207*/ $k[$j++] = "includetext"; /*1207*/ $k[$j++] = true; /*1207*/ $k[$j++] = "height"; /*1207*/ $k[$j++] = $1.height - 0.15; /*1207*/ $k[$j++] = "textxoffset"; /*1207*/ if ($1.addontextxoffset != "unset") { /*1207*/ $k[$j++] = $1.addontextxoffset; /*1207*/ } else { /*1207*/ $k[$j++] = 95 + $1.addongap; /*1207*/ } /*1207*/ if ($1.addontextyoffset != "unset") { /*1208*/ $k[$j++] = "textyoffset"; /*1208*/ $k[$j++] = $1.addontextyoffset; /*1208*/ } /*1208*/ var _2s = ($1.addontextsize != "unset") ? $1.addontextsize : $1.textsize; /*1209*/ var _2u = $ne($1.addontextfont, "unset") ? $1.addontextfont : $1.textfont; /*1210*/ $k[$j++] = "textsize"; /*1210*/ $k[$j++] = _2s; /*1210*/ $k[$j++] = "textfont"; /*1210*/ $k[$j++] = _2u; /*1210*/ var _2v = $d(); /*1210*/ $1[$k[--$j]] = _2v; /*1211*/ if ($1.addon.length == 2) { /*1212*/ $k[$j++] = $1.addon; /*1212*/ $k[$j++] = $1.addopts; /*1212*/ $0.ean2(); /*1212*/ } /*1212*/ if ($1.addon.length == 5) { /*1213*/ $k[$j++] = $1.addon; /*1213*/ $k[$j++] = $1.addopts; /*1213*/ $0.ean5(); /*1213*/ } /*1213*/ $1.addcode = $k[--$j]; /*1214*/ $k[$j++] = Infinity; /*1215*/ $aload($1.sbs); /*1215*/ $k[$j++] = $1.addongap; /*1215*/ $aload($1.addcode.sbs); /*1215*/ $1.sbs = $a(); /*1215*/ $k[$j++] = Infinity; /*1216*/ $aload($1.bhs); /*1216*/ $forall($1.addcode.bhs, function() { /*1216*/ var _3C = $k[--$j]; /*1216*/ $k[$j++] = _3C - 0.075; /*1216*/ }); /*1216*/ $1.bhs = $a(); /*1216*/ $k[$j++] = Infinity; /*1217*/ $aload($1.bbs); /*1217*/ $forall($1.addcode.bbs, function() { /*1217*/ var _3H = $k[--$j]; /*1217*/ $k[$j++] = _3H + 0.075; /*1217*/ }); /*1217*/ $1.bbs = $a(); /*1217*/ $k[$j++] = Infinity; /*1218*/ $aload($1.txt); /*1218*/ $aload($1.addcode.txt); /*1218*/ $1.txt = $a(); /*1218*/ $1.guardrightypos = ($1.height * 72) - 6; /*1219*/ } /*1219*/ var _3U = { ren: $0.renlinear, sbs: $1.sbs, bhs: $1.bhs, bbs: $1.bbs, txt: $1.txt, opt: $1.options, guardrightpos: 10, guardrightypos: $1.guardrightypos, borderbottom: 5 }; /*1232*/ $k[$j++] = _3U; /*1235*/ if (!$1.dontdraw) { /*1235*/ $0.renlinear(); /*1235*/ } /*1235*/ }; $0.ean8 = function() { var $1 = {}; /*1264*/ $1.options = $k[--$j]; /*1266*/ $1.barcode = $k[--$j]; /*1267*/ $1.dontdraw = false; /*1269*/ $1.includetext = false; /*1270*/ $1.textfont = "Helvetica"; /*1271*/ $1.textsize = 12; /*1272*/ $1.textxoffset = 4; /*1273*/ $1.textyoffset = -4.5; /*1274*/ $1.height = 1; /*1275*/ $1.addongap = 12; /*1276*/ $1.addontextfont = "unset"; /*1277*/ $1.addontextsize = "unset"; /*1278*/ $1.addontextxoffset = "unset"; /*1279*/ $1.addontextyoffset = "unset"; /*1280*/ $forall($1.options, function() { /*1291*/ var _3 = $k[--$j]; /*1291*/ $1[$k[--$j]] = _3; /*1291*/ }); /*1291*/ $1.textfont = "" + $1.textfont; /*1293*/ $1.textsize = +$1.textsize; /*1294*/ $1.textxoffset = +$1.textxoffset; /*1295*/ $1.textyoffset = +$1.textyoffset; /*1296*/ $1.height = +$1.height; /*1297*/ $1.addongap = +$1.addongap; /*1298*/ if ($ne($1.addontextfont, "unset")) { /*1299*/ $1.addontextfont = "" + $1.addontextfont; /*1299*/ } /*1299*/ if ($ne($1.addontextsize, "unset")) { /*1300*/ $1.addontextsize = +$1.addontextsize; /*1300*/ } /*1300*/ if ($ne($1.addontextxoffset, "unset")) { /*1301*/ $1.addontextxoffset = +$1.addontextxoffset; /*1301*/ } /*1301*/ if ($ne($1.addontextyoffset, "unset")) { /*1302*/ $1.addontextyoffset = +$1.addontextyoffset; /*1302*/ } /*1302*/ $search($1.barcode, " "); /*1305*/ if ($k[--$j]) { /*1311*/ $1.barcode = $k[--$j]; /*1306*/ $j--; /*1307*/ $1.addon = $k[--$j]; /*1308*/ } else { /*1311*/ $j--; /*1310*/ $1.addon = ""; /*1311*/ } /*1311*/ if (($1.barcode.length != 7) && ($1.barcode.length != 8)) { /*1317*/ $k[$j++] = "bwipp.ean8badLength"; /*1316*/ $k[$j++] = "EAN-8 must be 7 or 8 digits"; /*1316*/ $0.raiseerror(); /*1316*/ } /*1316*/ $forall($1.barcode, function() { /*1322*/ var _Q = $k[--$j]; /*1319*/ if ((_Q < 48) || (_Q > 57)) { /*1321*/ $k[$j++] = "bwipp.ean8badCharacter"; /*1320*/ $k[$j++] = "EAN-8 must contain only digits"; /*1320*/ $0.raiseerror(); /*1320*/ } /*1320*/ }); /*1320*/ if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { /*1325*/ $k[$j++] = "bwipp.ean8badAddOnLength"; /*1324*/ $k[$j++] = "Add-on for EAN-8 must be 2 or 5 digits"; /*1324*/ $0.raiseerror(); /*1324*/ } /*1324*/ $1.pad = $s(8); /*1328*/ $1.checksum = 0; /*1329*/ for (var _V = 0; _V <= 6; _V += 1) { /*1338*/ $1.i = _V; /*1331*/ $1.barchar = $get($1.barcode, $1.i) - 48; /*1332*/ if (($1.i % 2) != 0) { /*1336*/ $1.checksum = $1.barchar + $1.checksum; /*1334*/ } else { /*1336*/ $1.checksum = ($1.barchar * 3) + $1.checksum; /*1336*/ } /*1336*/ } /*1336*/ $1.checksum = (10 - ($1.checksum % 10)) % 10; /*1339*/ if ($1.barcode.length == 8) { /*1344*/ if ($get($1.barcode, 7) != ($1.checksum + 48)) { /*1343*/ $k[$j++] = "bwipp.ean8badCheckDigit"; /*1342*/ $k[$j++] = "Incorrect EAN-8 check digit provided"; /*1342*/ $0.raiseerror(); /*1342*/ } /*1342*/ } /*1342*/ $puti($1.pad, 0, $1.barcode); /*1345*/ $put($1.pad, 7, $1.checksum + 48); /*1346*/ $1.barcode = $1.pad; /*1347*/ $1.encs = $a(["3211", "2221", "2122", "1411", "1132", "1231", "1114", "1312", "1213", "3112", "111", "11111", "111"]); /*1354*/ $1.barchars = "0123456789"; /*1357*/ $1.sbs = $s(43); /*1359*/ $1.txt = $a(8); /*1360*/ $puti($1.sbs, 0, $get($1.encs, 10)); /*1363*/ for (var _u = 0; _u <= 3; _u += 1) { /*1376*/ $1.i = _u; /*1368*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*1369*/ $j--; /*1370*/ $1.indx = $k[--$j].length; /*1371*/ $j -= 2; /*1372*/ $1.enc = $get($1.encs, $1.indx); /*1373*/ $puti($1.sbs, ($1.i * 4) + 3, $1.enc); /*1374*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), ($1.i * 7) + $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*1375*/ } /*1375*/ $puti($1.sbs, (4 * 4) + 3, $get($1.encs, 11)); /*1379*/ for (var _1K = 4; _1K <= 7; _1K += 1) { /*1392*/ $1.i = _1K; /*1384*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*1385*/ $j--; /*1386*/ $1.indx = $k[--$j].length; /*1387*/ $j -= 2; /*1388*/ $1.enc = $get($1.encs, $1.indx); /*1389*/ $puti($1.sbs, ($1.i * 4) + 8, $1.enc); /*1390*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.i * 7) + $1.textxoffset) + 4, $1.textyoffset, $1.textfont, $1.textsize])); /*1391*/ } /*1391*/ $puti($1.sbs, 40, $get($1.encs, 12)); /*1395*/ $k[$j++] = Infinity; /*1397*/ var _1k = $1.sbs; /*1397*/ for (var _1l = 0, _1m = _1k.length; _1l < _1m; _1l++) { /*1397*/ $k[$j++] = $get(_1k, _1l) - 48; /*1397*/ } /*1397*/ $1.sbs = $a(); /*1397*/ if ($1.includetext) { /*1404*/ $k[$j++] = Infinity; /*1399*/ $k[$j++] = $1.height; /*1399*/ $k[$j++] = $1.height; /*1399*/ for (var _1s = 0, _1t = 8; _1s < _1t; _1s++) { /*1399*/ $k[$j++] = $1.height - 0.075; /*1399*/ } /*1399*/ $k[$j++] = $1.height; /*1399*/ $k[$j++] = $1.height; /*1399*/ for (var _1x = 0, _1y = 8; _1x < _1y; _1x++) { /*1399*/ $k[$j++] = $1.height - 0.075; /*1399*/ } /*1399*/ $k[$j++] = $1.height; /*1399*/ $k[$j++] = $1.height; /*1399*/ $1.bhs = $a(); /*1399*/ $k[$j++] = Infinity; /*1400*/ $k[$j++] = 0; /*1400*/ $k[$j++] = 0; /*1400*/ for (var _23 = 0, _24 = 8; _23 < _24; _23++) { /*1400*/ $k[$j++] = 0.075; /*1400*/ } /*1400*/ $k[$j++] = 0; /*1400*/ $k[$j++] = 0; /*1400*/ for (var _25 = 0, _26 = 8; _25 < _26; _25++) { /*1400*/ $k[$j++] = 0.075; /*1400*/ } /*1400*/ $k[$j++] = 0; /*1400*/ $k[$j++] = 0; /*1400*/ $1.bbs = $a(); /*1400*/ } else { /*1404*/ $k[$j++] = Infinity; /*1402*/ for (var _28 = 0, _29 = 22; _28 < _29; _28++) { /*1402*/ $k[$j++] = $1.height; /*1402*/ } /*1402*/ $1.bhs = $a(); /*1402*/ $k[$j++] = Infinity; /*1403*/ for (var _2C = 0, _2D = 22; _2C < _2D; _2C++) { /*1403*/ $k[$j++] = 0; /*1403*/ } /*1403*/ $1.bbs = $a(); /*1403*/ $1.txt = $a([]); /*1404*/ } /*1404*/ $1.guardrightypos = 0; /*1406*/ if ($ne($1.addon, "")) { /*1427*/ $k[$j++] = "addopts"; /*1417*/ $k[$j++] = Infinity; /*1417*/ $k[$j++] = "dontdraw"; /*1414*/ $k[$j++] = true; /*1414*/ $k[$j++] = "includetext"; /*1414*/ $k[$j++] = true; /*1414*/ $k[$j++] = "height"; /*1414*/ $k[$j++] = $1.height - 0.15; /*1414*/ $k[$j++] = "textxoffset"; /*1414*/ if ($1.addontextxoffset != "unset") { /*1414*/ $k[$j++] = $1.addontextxoffset; /*1414*/ } else { /*1414*/ $k[$j++] = 67 + $1.addongap; /*1414*/ } /*1414*/ if ($1.addontextyoffset != "unset") { /*1415*/ $k[$j++] = "textyoffset"; /*1415*/ $k[$j++] = $1.addontextyoffset; /*1415*/ } /*1415*/ var _2O = ($1.addontextsize != "unset") ? $1.addontextsize : $1.textsize; /*1416*/ var _2Q = $ne($1.addontextfont, "unset") ? $1.addontextfont : $1.textfont; /*1417*/ $k[$j++] = "textsize"; /*1417*/ $k[$j++] = _2O; /*1417*/ $k[$j++] = "textfont"; /*1417*/ $k[$j++] = _2Q; /*1417*/ var _2R = $d(); /*1417*/ $1[$k[--$j]] = _2R; /*1418*/ if ($1.addon.length == 2) { /*1419*/ $k[$j++] = $1.addon; /*1419*/ $k[$j++] = $1.addopts; /*1419*/ $0.ean2(); /*1419*/ } /*1419*/ if ($1.addon.length == 5) { /*1420*/ $k[$j++] = $1.addon; /*1420*/ $k[$j++] = $1.addopts; /*1420*/ $0.ean5(); /*1420*/ } /*1420*/ $1.addcode = $k[--$j]; /*1421*/ $k[$j++] = Infinity; /*1422*/ $aload($1.sbs); /*1422*/ $k[$j++] = $1.addongap; /*1422*/ $aload($1.addcode.sbs); /*1422*/ $1.sbs = $a(); /*1422*/ $k[$j++] = Infinity; /*1423*/ $aload($1.bhs); /*1423*/ $forall($1.addcode.bhs, function() { /*1423*/ var _2i = $k[--$j]; /*1423*/ $k[$j++] = _2i - 0.075; /*1423*/ }); /*1423*/ $1.bhs = $a(); /*1423*/ $k[$j++] = Infinity; /*1424*/ $aload($1.bbs); /*1424*/ $forall($1.addcode.bbs, function() { /*1424*/ var _2n = $k[--$j]; /*1424*/ $k[$j++] = _2n + 0.075; /*1424*/ }); /*1424*/ $1.bbs = $a(); /*1424*/ $k[$j++] = Infinity; /*1425*/ $aload($1.txt); /*1425*/ $aload($1.addcode.txt); /*1425*/ $1.txt = $a(); /*1425*/ $1.guardrightypos = ($1.height * 72) - 6; /*1426*/ } /*1426*/ var _30 = { ren: $0.renlinear, sbs: $1.sbs, bhs: $1.bhs, bbs: $1.bbs, txt: $1.txt, opt: $1.options, guardleftpos: 10, guardrightpos: 10, guardrightypos: $1.guardrightypos, borderbottom: 5 }; /*1440*/ $k[$j++] = _30; /*1443*/ if (!$1.dontdraw) { /*1443*/ $0.renlinear(); /*1443*/ } /*1443*/ }; $0.upca = function() { var $1 = {}; /*1472*/ $1.options = $k[--$j]; /*1474*/ $1.barcode = $k[--$j]; /*1475*/ $1.dontdraw = false; /*1477*/ $1.includetext = false; /*1478*/ $1.textfont = "Helvetica"; /*1479*/ $1.textsize = 12; /*1480*/ $1.textxoffset = -7; /*1481*/ $1.textyoffset = -4.5; /*1482*/ $1.height = 1; /*1483*/ $1.addongap = 12; /*1484*/ $1.addontextfont = "unset"; /*1485*/ $1.addontextsize = "unset"; /*1486*/ $1.addontextxoffset = "unset"; /*1487*/ $1.addontextyoffset = "unset"; /*1488*/ $forall($1.options, function() { /*1499*/ var _3 = $k[--$j]; /*1499*/ $1[$k[--$j]] = _3; /*1499*/ }); /*1499*/ $1.textfont = "" + $1.textfont; /*1501*/ $1.textsize = +$1.textsize; /*1502*/ $1.textxoffset = +$1.textxoffset; /*1503*/ $1.textyoffset = +$1.textyoffset; /*1504*/ $1.height = +$1.height; /*1505*/ $1.addongap = +$1.addongap; /*1506*/ if ($ne($1.addontextfont, "unset")) { /*1507*/ $1.addontextfont = "" + $1.addontextfont; /*1507*/ } /*1507*/ if ($ne($1.addontextsize, "unset")) { /*1508*/ $1.addontextsize = +$1.addontextsize; /*1508*/ } /*1508*/ if ($ne($1.addontextxoffset, "unset")) { /*1509*/ $1.addontextxoffset = +$1.addontextxoffset; /*1509*/ } /*1509*/ if ($ne($1.addontextyoffset, "unset")) { /*1510*/ $1.addontextyoffset = +$1.addontextyoffset; /*1510*/ } /*1510*/ $search($1.barcode, " "); /*1513*/ if ($k[--$j]) { /*1519*/ $1.barcode = $k[--$j]; /*1514*/ $j--; /*1515*/ $1.addon = $k[--$j]; /*1516*/ } else { /*1519*/ $j--; /*1518*/ $1.addon = ""; /*1519*/ } /*1519*/ if (($1.barcode.length == 7) || ($1.barcode.length == 8)) { /*1565*/ $forall($1.barcode, function() { /*1529*/ var _Q = $k[--$j]; /*1526*/ if ((_Q < 48) || (_Q > 57)) { /*1528*/ $k[$j++] = "bwipp.upcAupcEbadCharacter"; /*1527*/ $k[$j++] = "UPC-E must contain only digits"; /*1527*/ $0.raiseerror(); /*1527*/ } /*1527*/ }); /*1527*/ var _S = $get($1.barcode, 0); /*1530*/ if ((_S != 48) && (_S != 49)) { /*1532*/ $k[$j++] = "bwipp.upcAupcEbadNumberSystem"; /*1531*/ $k[$j++] = "UPC-E must have number system 0 or 1"; /*1531*/ $0.raiseerror(); /*1531*/ } /*1531*/ for (var _T = 0, _U = 1; _T < _U; _T++) { /*1560*/ var _W = ($1.barcode.length == 8) ? 12 : 11; /*1534*/ $1.upcacode = $s(_W); /*1534*/ if (($get($1.barcode, 6) - 48) <= 2) { /*1541*/ $puti($1.upcacode, 0, $geti($1.barcode, 0, 3)); /*1536*/ $puti($1.upcacode, 3, $geti($1.barcode, 6, 1)); /*1537*/ $puti($1.upcacode, 4, "0000"); /*1538*/ $puti($1.upcacode, 8, $geti($1.barcode, 3, 3)); /*1539*/ break; /*1540*/ } /*1540*/ if (($get($1.barcode, 6) - 48) == 3) { /*1547*/ $puti($1.upcacode, 0, $geti($1.barcode, 0, 4)); /*1543*/ $puti($1.upcacode, 4, "00000"); /*1544*/ $puti($1.upcacode, 9, $geti($1.barcode, 4, 2)); /*1545*/ break; /*1546*/ } /*1546*/ if (($get($1.barcode, 6) - 48) == 4) { /*1553*/ $puti($1.upcacode, 0, $geti($1.barcode, 0, 5)); /*1549*/ $puti($1.upcacode, 5, "00000"); /*1550*/ $puti($1.upcacode, 10, $geti($1.barcode, 5, 1)); /*1551*/ break; /*1552*/ } /*1552*/ if (($get($1.barcode, 6) - 48) >= 5) { /*1559*/ $puti($1.upcacode, 0, $geti($1.barcode, 0, 6)); /*1555*/ $puti($1.upcacode, 6, "0000"); /*1556*/ $puti($1.upcacode, 10, $geti($1.barcode, 6, 1)); /*1557*/ break; /*1558*/ } /*1558*/ } /*1558*/ if ($1.barcode.length == 8) { /*1563*/ $puti($1.upcacode, 11, $geti($1.barcode, 7, 1)); /*1562*/ } /*1562*/ $1.barcode = $1.upcacode; /*1564*/ } /*1564*/ if (($1.barcode.length != 11) && ($1.barcode.length != 12)) { /*1570*/ $k[$j++] = "bwipp.upcAbadLength"; /*1569*/ $k[$j++] = "UPC-A must be 11 or 12 digits"; /*1569*/ $0.raiseerror(); /*1569*/ } /*1569*/ var _1I = $1.barcode; /*1571*/ for (var _1J = 0, _1K = _1I.length; _1J < _1K; _1J++) { /*1575*/ var _1L = $get(_1I, _1J); /*1575*/ if ((_1L < 48) || (_1L > 57)) { /*1574*/ $k[$j++] = "bwipp.upcAbadCharacter"; /*1573*/ $k[$j++] = "UPC-A must contain only digits"; /*1573*/ $0.raiseerror(); /*1573*/ } /*1573*/ } /*1573*/ if ((($1.addon.length != 0) && ($1.addon.length != 2)) && ($1.addon.length != 5)) { /*1578*/ $k[$j++] = "bwipp.upcAbadAddOnLength"; /*1577*/ $k[$j++] = "Add-on for UPC-A must be 2 or 5 digits"; /*1577*/ $0.raiseerror(); /*1577*/ } /*1577*/ $1.pad = $s(12); /*1581*/ $1.checksum = 0; /*1582*/ for (var _1Q = 0; _1Q <= 10; _1Q += 1) { /*1591*/ $1.i = _1Q; /*1584*/ $1.barchar = $get($1.barcode, $1.i) - 48; /*1585*/ if (($1.i % 2) != 0) { /*1589*/ $1.checksum = $1.checksum + $1.barchar; /*1587*/ } else { /*1589*/ $1.checksum = $1.checksum + ($1.barchar * 3); /*1589*/ } /*1589*/ } /*1589*/ $1.checksum = (10 - ($1.checksum % 10)) % 10; /*1592*/ if ($1.barcode.length == 12) { /*1597*/ if ($get($1.barcode, 11) != ($1.checksum + 48)) { /*1596*/ $k[$j++] = "bwipp.upcAbadCheckDigit"; /*1595*/ $k[$j++] = "Incorrect UPC check digit provided"; /*1595*/ $0.raiseerror(); /*1595*/ } /*1595*/ } /*1595*/ $puti($1.pad, 0, $1.barcode); /*1598*/ $put($1.pad, 11, $1.checksum + 48); /*1599*/ $1.barcode = $1.pad; /*1600*/ $1.encs = $a(["3211", "2221", "2122", "1411", "1132", "1231", "1114", "1312", "1213", "3112", "111", "11111", "111"]); /*1607*/ $1.barchars = "0123456789"; /*1610*/ $1.sbs = $s(59); /*1612*/ $1.txt = $a(12); /*1613*/ $puti($1.sbs, 0, $get($1.encs, 10)); /*1616*/ for (var _1p = 0; _1p <= 5; _1p += 1) { /*1633*/ $1.i = _1p; /*1621*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*1622*/ $j--; /*1623*/ $1.indx = $k[--$j].length; /*1624*/ $j -= 2; /*1625*/ $1.enc = $get($1.encs, $1.indx); /*1626*/ $puti($1.sbs, ($1.i * 4) + 3, $1.enc); /*1627*/ if ($1.i == 0) { /*1631*/ $put($1.txt, 0, $a([$geti($1.barcode, 0, 1), $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize - 2])); /*1629*/ } else { /*1631*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.i * 7) + 11) + $1.textxoffset, $1.textyoffset, $1.textfont, $1.textsize])); /*1631*/ } /*1631*/ } /*1631*/ $puti($1.sbs, (6 * 4) + 3, $get($1.encs, 11)); /*1636*/ for (var _2O = 6; _2O <= 11; _2O += 1) { /*1653*/ $1.i = _2O; /*1641*/ $search($1.barchars, $geti($1.barcode, $1.i, 1)); /*1642*/ $j--; /*1643*/ $1.indx = $k[--$j].length; /*1644*/ $j -= 2; /*1645*/ $1.enc = $get($1.encs, $1.indx); /*1646*/ $puti($1.sbs, ($1.i * 4) + 8, $1.enc); /*1647*/ if ($1.i == 11) { /*1651*/ $put($1.txt, 11, $a([$geti($1.barcode, 11, 1), $1.textxoffset + 103, $1.textyoffset, $1.textfont, $1.textsize - 2])); /*1649*/ } else { /*1651*/ $put($1.txt, $1.i, $a([$geti($1.barcode, $1.i, 1), (($1.i * 7) + $1.textxoffset) + 15, $1.textyoffset, $1.textfont, $1.textsize])); /*1651*/ } /*1651*/ } /*1651*/ $puti($1.sbs, 56, $get($1.encs, 12)); /*1656*/ $k[$j++] = Infinity; /*1658*/ var _2x = $1.sbs; /*1658*/ for (var _2y = 0, _2z = _2x.length; _2y < _2z; _2y++) { /*1658*/ $k[$j++] = $get(_2x, _2y) - 48; /*1658*/ } /*1658*/ $1.sbs = $a(); /*1658*/ if ($1.includetext) { /*1665*/ $k[$j++] = Infinity; /*1660*/ for (var _33 = 0, _34 = 4; _33 < _34; _33++) { /*1660*/ $k[$j++] = $1.height; /*1660*/ } /*1660*/ for (var _36 = 0, _37 = 10; _36 < _37; _36++) { /*1660*/ $k[$j++] = $1.height - 0.075; /*1660*/ } /*1660*/ $k[$j++] = $1.height; /*1660*/ $k[$j++] = $1.height; /*1660*/ for (var _3B = 0, _3C = 10; _3B < _3C; _3B++) { /*1660*/ $k[$j++] = $1.height - 0.075; /*1660*/ } /*1660*/ for (var _3E = 0, _3F = 4; _3E < _3F; _3E++) { /*1660*/ $k[$j++] = $1.height; /*1660*/ } /*1660*/ $1.bhs = $a(); /*1660*/ $k[$j++] = Infinity; /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ for (var _3I = 0, _3J = 10; _3I < _3J; _3I++) { /*1661*/ $k[$j++] = 0.075; /*1661*/ } /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ for (var _3K = 0, _3L = 10; _3K < _3L; _3K++) { /*1661*/ $k[$j++] = 0.075; /*1661*/ } /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ $k[$j++] = 0; /*1661*/ $1.bbs = $a(); /*1661*/ } else { /*1665*/ $k[$j++] = Infinity; /*1663*/ for (var _3N = 0, _3O = 30; _3N < _3O; _3N++) { /*1663*/ $k[$j++] = $1.height; /*1663*/ } /*1663*/ $1.bhs = $a(); /*1663*/ $k[$j++] = Infinity; /*1664*/ for (var _3R = 0, _3S = 30; _3R < _3S; _3R++) { /*1664*/ $k[$j++] = 0; /*1664*/ } /*1664*/ $1.bbs = $a(); /*1664*/ $1.txt = $a([]); /*1665*/ } /*1665*/ $1.guardrightypos = 0; /*1667*/ if ($ne($1.addon, "")) { /*1688*/ $k[$j++] = "addopts"; /*1678*/ $k[$j++] = Infinity; /*1678*/ $k[$j++] = "dontdraw"; /*1675*/ $k[$j++] = true; /*1675*/ $k[$j++] = "includetext"; /*1675*/ $k[$j++] = true; /*1675*/ $k[$j++] = "height"; /*1675*/ $k[$j++] = $1.height - 0.15; /*1675*/ $k[$j++] = "textxoffset"; /*1675*/ if ($1.addontextxoffset != "unset") { /*1675*/ $k[$j++] = $1.addontextxoffset; /*1675*/ } else { /*1675*/ $k[$j++] = 95 + $1.addongap; /*1675*/ } /*1675*/ if ($1.addontextyoffset != "unset") { /*1676*/ $k[$j++] = "textyoffset"; /*1676*/ $k[$j++] = $1.addontextyoffset; /*1676*/ } /*1676*/ var _3d = ($1.addontextsize != "unset") ? $1.addontextsize : $1.textsize; /*1677*/ var _3f = $ne($1.addontextfont, "unset") ? $1.addontextfont : $1.textfont; /*1678*/ $k[$j++] = "textsize"; /*1678*/ $k[$j++] = _3d; /*1678*/ $k[$j++] = "textfont"; /*1678*/ $k[$j++] = _3f; /*1678*/ var _3g = $d(); /*1678*/ $1[$k[--$j]] = _3g; /*1679*/ if ($1.addon.length == 2) { /*1680*/ $k[$j++] = $1.addon; /*1680*/ $k[$j++] = $1.addopts; /*1680*/ $0.ean2(); /*1680*/ } /*1680*/ if ($1.addon.length == 5) { /*1681*/ $k[$j++] = $1.addon; /*1681*/ $k[$j++] = $1.addopts; /*1681*/ $0.ean5(); /*1681*/ } /*1681*/ $1.addcode = $k[--$j]; /*1682*/ $k[$j++] = Infinity; /*1683*/ $aload($1.sbs); /*1683*/ $k[$j++] = $1.addongap; /*1683*/ $aload($1.addcode.sbs); /*1683*/ $1.sbs = $a(); /*1683*/ $k[$j++] = Infinity; /*1684*/ $aload($1.bhs); /*1684*/ $forall($1.addcode.bhs, function() { /