bwip-angular2
Version:
JavaScript barcode generator supporting over 90 types and standards.
1,516 lines (1,481 loc) • 1.21 MB
JavaScript
// 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() { /