The Obligatory Translation Table (thanks to Kaja Foglio for the images)
|
Read the Short Version first.
This is a fully interactive decoder, which tries to show as much as possible about how things get decoded. It therefore has several goodies:
If the Output message seems to be okay for a while, then turns into garbage, odds are you've made a typo somewhere. Move the cursor around in the Input field so that it just highlights the good bits. Odds are that there's a typo in the Input right after that.
If you get a message saying <ERROR -- something> in the Output field, then there's almost certainly a typo at that point, or maybe earlier. Follow the above instructions to find the typo.
In Netscape only: if there are carriage returns in the Input, the highlighting and stuff won't work quite right if the cursor is after the returns -- it'll be off by one for each return. This is because of a strange misbehaviour in how Netscape figures the cursor position in TextAreas. I might fix it at some point, but it's a nuisance, since the problem is Netscape-only. To work around the problem, do the whole input on one line. (Or don't worry about the highlighting: the decoded message will be correct, regardless.)
The whole thing is monstrously inefficient. (In geek terms, the processing for each user event is O(n), where n is the total length of the message.) It suffices for the smallish messages that Studio Foglio has tantalized us with so far, but will have problems with anything really big. If bribed sufficiently, I may rewrite it to be more scalable one of these days, using a fancier internal state machine.
There may be other bugs -- the thing's only been tested on the two messages that Studio Foglio has provided so far. If you find other problems, write to me at genius@waks.org, and I'll see what I can do.
The applet was written by Mark Waks, who is, obviously, unemployed as of this writing. The now-de-facto-standard symbol-to-ASCII encodings were created by Kenneth Graves. And the coding language itself is of course based on the wonderful comic book Girl Genius, by Phil and Kaja Foglio.
Source code to this little monstrosity is available, for those who wish to subject themselves to it. Don't say you weren't warned...
For those who are truly daring (or really prefer a command-line interface), my original command-line version of the decoder is also available, in both C++ source code and a compiled Windows executable. This simply reads the encoded version from standard input, and sends the decoded stuff to standard output. The source code has only been tested with Visual C++, but it's pretty bog-standard C++, and ought to work on pretty much anything.