Working on a check (bank draft) printing application for Linux. Got a Type 1 MICR Font (for those funny characters at the bottom of your check) finished a while ago - just got an official serial number from Adobe.
Wondering about the "right" way to do this - started off with a PostScript program that would lay out the check based on a bunch of dimension & string definitions at the top of the file. Currently I have a Perl script that concatenates a bunch of PostScript file snippets into a complete file that can be sent to GhostScript or a printer. Lets you choose which account, what check blank type, printing style, etc you want to use.
2 ways to go - either keep the "configs" for account, blanks, style, as PostScript snippet files to be cat'd together, or do it in more of an ini/config file type deal, with the Perl generating the PostScript from that. Not sure how I'll go.. A config file in /etc is probably more "unixy." :-)
Anyway, once that's done, I'll start working on a Gnome-ified GUI for the thing, and probably a CGI script to let you get a .ps or .pdf back to print your checks from.
Hopefully the GnuCash guys can use some of my work as well.