+ my $mask = 0x80;
+ my $byte = 0;
+
+ my $o = 0;
+ while ( $o < length($rgb) ) {
+ my $px = ord(substr($rgb,$o,1)); $o += 3;
+ $byte ^= $mask if $px < $trashold;
+ $mask >>= 1;
+ if ( ! $mask ) {
+ $bitmap .= chr($byte);
+ $byte = 0;
+ $mask = 0x80;
+ }
+ }
+
+ warn dump $bitmap;
+
+} else {
+ die "$pnm_file magick $magic not supported\n";
+}
+
+
+
+print '^XA';
+printf '~TA%03d', 0; # tear-off
+print '~JSN'; # sensor detect N = normal, 90%
+print '^LT18'; # label top -120 .. 120
+print '^MNW'; # media tracking N = continuous Y/W = web sensing M = mark sensing
+print '^MTD'; # media type T = termal D = direct (ribbon!)
+print '^PON'; # print orientation N = normal I = invert
+print '^PMN'; # print mirror Y/N
+print '^LH0,0'; # label home x,y
+print '^JMA'; # dots/mm A = 24/12/8/6 B = 12/6/4/3
+print '^PR4,4'; # print,slew,backfeed speed in inch/s 2 .. 12 [default: 2,6,2]
+printf '^MD%d', $darkness ; # media darkness -30 .. 30 / XiIIIPlus 0..30/0.1 increments
+print '^JUS'; # configuration update F = factory default R = recall S = save
+print '^LRN'; # label reverse Y/N
+print '^CI0'; # change international font 0..255
+print "^XZ\r\n";