I was gonna try this one on PHP but since I had a tiny fight with the gd library I decided to experiment in C++, I coded a parser, who seems to be working just fine. I first tried the drawing with the example on http://www.hackthissite.org/missions/prog/4/info.html
, when I could make a drawing on my application look like that one with the same coordinates, I tried out the application, and the result is not really readable, although some characters are formed.
This is the console version of the parser (executable only, avoiding spoiling - no drawing involved, just to test the parser alone): http://www.megaupload.com/?d=D26KQ3VV
Since the origin is at the top left corner, contrary to the bottom left corner origin that the mission uses, I gotta work it out a bit for the drawings to match. All I do to lines is inverting the y coordinates, for arcs I invert the y coordinate, and subtract the height of the arc to the y-center, then take 90 degrees on the start angle.
It appears to be fine with the example given, but then...
...Getting drawings like: