3 Dec 2006 (updated 3 Dec 2006 at 22:56 UTC)
»
It compiles. Ship it!
I've been pretty busy hacking on AbiWord lately, in
stark contrast to how I've spent the past few months.
I've managed to change the command-line printing over to use
our GnomePrint-based driver instead of our own PostScript
printer driver. The results are much nicer in quality than
before, and the output will match whatever hitting the
'print' button does. We'll probably switch over to GtkPrint
and Cairo by the next major AbiWord version (2.8).
I've managed to get AbiWord's export hooked up to stdout,
and I'm working on getting import hooked up to stdin. This
is a common request for people writing web-apps, such as
CMSes, who like to convert DOCs and whatnot into HTML, but
don't want to touch the HD. Since I deprecated most of
wvWare's utilities in
favor of using AbiWord, this should
help achieve feature parity. I don't have the time to
maintain software that competes with other software I
maintain, especially since AbiWord supports so many more
file types and does a much better job of preserving the
semantic and visual representation of the documents...
Getting import from STDIN to work will probably be a
substantial amount of work. Abi does a lot based on URIs,
and assumes that it can open/close a URI multiple times when
importing. Once to see if any of our importers recognize its
contents, and another time to actually import the data.
Needless to say, one can't open, close, re-open, and seek
to the beginning of stdin that you've already consumed 4096
bytes from. It's an 8-year-old architecture
that needs to be overhauled to accept a GsfInput. This
wasn't a use-case 8 years ago, apparently. I need to push a
bunch of changes upstream into libgsf and goffice, so that
the Gnumeric folks can seamlessly take advantage of this too
in their ssconvert program.
Abi's import/export from the command line also boasts some
improvements, such as being able to override our mime-type
guessing, and the ability to specify the output type as a
mime-type (previously, one could only specify a file extension).
I've re-tooled the AbiWord GtkWidget that Uwog mentioned the
other day. Now, most of the GObject properties are gone in
favor of virtual methods. No functionality should be lost
and the interface should be much cleaner. Also, I
implemented a way to bridge from Abi's internal event
architecture to GObject's signals with only a modicum of
glue. Hopefully some of the OLPC guys, like Jirwin, can help out
here, since my plate is full, and I'm either getting psyched
up or burnt out by this ;-)
And I've managed to fix up Solaris build issues with Enchant
using the native toolchain. Thanks goes out to Plaidrab for
helping me.