#!/bin/sh grep V | awk ' BEGIN { for (y = 0;y < 768;++y) for (x = 0;x < 1024;++x) { red[x,y] = 0 green[x,y] = 0 blue[x,y] = 0 } } function translate(c) { c = 255 - c c = int(c) if (c > 255) return 255 if (c < 0) return 0 return c } function plot(x,y,r,g,b) { x = int(x / 8) if (x >= 1024) return y = int(y / 64) if (y >= 768) return red[x,y] += r green[x,y] += g blue[x,y] += b } { if (match($2,/^V/)) for (j = 3;j <= NF;++j) plot($1,$j,1 + 3 * match($2,/V....K./),1 + 3 * match($2,/V.....D/),1 + 3 * match($2,/V4444../)) } END { print "P6" print "1024 768" print "255" for (y = 767;y >= 0;--y) for (x = 0;x < 1024;++x) { printf "%c",translate(red[x,y]) printf "%c",translate(green[x,y]) printf "%c",translate(blue[x,y]) } } ' | ppmtojpeg