From: Dobrica Pavlinusic Date: Fri, 16 Mar 2012 14:10:37 +0000 (+0100) Subject: added support for P5 portable graymap X-Git-Url: http://git.rot13.org/?p=Printer-EVOLIS.git;a=commitdiff_plain;h=365c90d7f08fbacf30a9218f3ed8f0bde3786045 added support for P5 portable graymap --- diff --git a/scripts/evolis-driver.pl b/scripts/evolis-driver.pl index 811d420..5797688 100755 --- a/scripts/evolis-driver.pl +++ b/scripts/evolis-driver.pl @@ -57,7 +57,7 @@ sub read_pbm { local $/ = undef; $bitmap = <$pbm>; warn "# $path $size ", length($bitmap), " bytes\n"; - } elsif ( $magic eq 'P6' ) { # portable pixmap + } elsif ( $magic eq 'P5' || $magic eq 'P6' ) { # portable graymap/pixmap my $max_color = <$pbm>; chomp $max_color; my $trashold = $max_color / 2; @@ -68,9 +68,11 @@ sub read_pbm { my $mask = 0x80; my $byte = 0; + my $step = $magic eq 'P6' ? 3 : 1; + my $o = 0; while ( $o < length($rgb) ) { - my $px = ord(substr($rgb,$o,1)); $o += 3; + my $px = ord(substr($rgb,$o,1)); $o += $step; $byte ^= $mask if $px < $trashold; $mask >>= 1; if ( ! $mask ) {