projects
/
Printer-Zebra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CGI to rasterize ZPL and send it using rlpr
[Printer-Zebra.git]
/
ZPL2pbm.pl
diff --git
a/ZPL2pbm.pl
b/ZPL2pbm.pl
index
e312665
..
e54e8fd
100755
(executable)
--- a/
ZPL2pbm.pl
+++ b/
ZPL2pbm.pl
@@
-13,7
+13,7
@@
while(<DATA>) {
$command->{$cmd} = $desc;
}
$command->{$cmd} = $desc;
}
-my $file = shift @ARGV || die "usage: $0 dump.zpl > dump.pbm";
+my $file = shift @ARGV || die "usage: $0 dump.zpl > dump.pbm
\n
";
open(my $in, '<', $file);
open(my $in, '<', $file);
@@
-35,11
+35,20
@@
while( $line ) {
my $w = $row_bytes * 2; # hex digits
my $w = $row_bytes * 2; # hex digits
- my $out;
+ my $out
= ''
;
# ZPL decompress
my $repeat = 0;
foreach my $p ( 0 .. length($data) - 1 ) {
# ZPL decompress
my $repeat = 0;
foreach my $p ( 0 .. length($data) - 1 ) {
+
+ if ( length($out) == $total_bytes * 2 ) {
+ warn "END of bitmap\n";
+ $line = substr($data,$p);
+ slurp_line;
+ last;
+ };
+
my $c = substr($data,$p,1);
my $c = substr($data,$p,1);
+
if ( $c eq ',' ) {
my $l = $w - ( length($out) % $w );
$l = $w if $l == 0;
if ( $c eq ',' ) {
my $l = $w - ( length($out) % $w );
$l = $w if $l == 0;
@@
-70,10
+79,7
@@
while( $line ) {
$out .= $c;
}
} else {
$out .= $c;
}
} else {
- warn "ABORT: offset $p data [$c]";
- $line = $c . substr($data,$p);
- slurp_line;
- last;
+ die "ABORT: offset $p data [$c]";
}
warn "## $repeat [$c] out = ",length($out),$/;
}
warn "## $repeat [$c] out = ",length($out),$/;