Skip to content

Instantly share code, notes, and snippets.

@aaronsherwood
Created December 6, 2012 18:59
Show Gist options
  • Save aaronsherwood/4227121 to your computer and use it in GitHub Desktop.
Save aaronsherwood/4227121 to your computer and use it in GitHub Desktop.
UPC encoding in processing to make bar codes.
class Upc {
int upcCode[];
String a, b, c, d, e, f, g, h, i, j, aa, bb, cc, dd, ee, ff, gg, hh, ii, jj;
String output []= { "1 0 1"};
int outBits[]=new int[95];
Upc(int code[]){
this.upcCode=code;
}
void checkCode() {
//leftside
for (int z=0; z<upcCode.length/2;z++) {
if (upcCode[z]==0) {
a="0 0 0 1 1 0 1";
output=append(output, a);
}
else if (upcCode[z]==1) {
b="0 0 1 1 0 0 1";
output=append(output, b);
}
else if (upcCode[z]==2) {
c="0 0 1 0 0 1 1";
output=append(output, c);
}
else if (upcCode[z]==3) {
d="0 1 1 1 1 0 1";
output=append(output, d);
}
else if (upcCode[z]==4) {
e="0 1 0 0 0 1 1";
output=append(output, e);
}
else if (upcCode[z]==5) {
f="0 1 1 0 0 0 1";
output=append(output, f);
}
else if (upcCode[z]==6) {
g="0 1 0 1 1 1 1";
output=append(output, g);
}
else if (upcCode[z]==7) {
h="0 1 1 1 0 1 1";
output=append(output, h);
}
else if (upcCode[z]==8) {
i="0 1 1 0 1 1 1";
output=append(output, i);
}
else if (upcCode[z]==9) {
j="0 0 0 1 0 1 1";
output=append(output, j);
}
}
output=append(output, "0 1 0 1 0");
//rightside
for (int z=6; z<upcCode.length;z++) {
if (upcCode[z]==0) {
aa = "1 1 1 0 0 1 0";
output=append(output, aa);
}
else if (upcCode[z]==1) {
bb = "1 1 0 0 1 1 0";
output=append(output, bb);
}
else if (upcCode[z]==2) {
cc = "1 1 0 1 1 0 0";
output=append(output, cc);
}
else if (upcCode[z]==3) {
dd = "1 0 0 0 0 1 0";
output=append(output, dd);
}
else if (upcCode[z]==4) {
ee = "1 0 1 1 1 0 0";
output=append(output, ee);
}
else if (upcCode[z]==5) {
ff = "1 0 0 1 1 1 0";
output=append(output, ff);
}
else if (upcCode[z]==6) {
gg = "1 0 1 0 0 0 0";
output=append(output, gg);
}
else if (upcCode[z]==7) {
hh = "1 0 0 0 1 0 0";
output=append(output, hh);
}
else if (upcCode[z]==8) {
ii = "1 0 0 1 0 0 0";
output=append(output, ii);
}
else if (upcCode[z]==9) {
jj = "1 1 1 0 1 0 0";
output=append(output, jj);
}
}
output=append(output, "1 0 1");
String bits = join(output, " ");
String split[]=split(bits, " ");
for (int i=0;i<split.length;i++) {
outBits[i]=int(split[i]);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment