While working on the font selector for GIMP FreeType, I decided that other projects might have a use for a proper font managment system too and started work on The GNU FontManager. Let's see how long it takes to layout a working code base...
Congrats to Heather and Raph.
Couldn't stop Xach from posting an announcement for GIMP FreeType on the Gimp News frontpage, so now everone knows about it. One interesting contributor already showed up who has code to create bezier paths from glyphs. I'm looking forward to see this in CVS. In the meantime I have hacked up a preliminary fontselector which will help me to settle on the design for the final one. After some discussion on #gimp the plans are pretty clear now and I hope to have some code ready soon.
Checked the first code of the GIMP FreeType plug-in into CVS (gnomecvs module gimp-freetype). This is still alpha and we now it's buggy, but the project promises to be lots of fun.
Spent the weekend in Karlsruhe at Jens's place and as expected we did nothing but hacking... As a result the BumpMap plug-in has become much better (you could even say, it is working as expected for the first time now). A lot of foxes jumped over dogs while we hacked together a mockup for what could become GIMP's new text-tool. We now have a plug-in that renders text using the FreeType2 library and it does an extremely good job at it. There are still some minor problems with the bounding box and the code needs a review (and a Makefile etc.) before it can be released.
Fixed the strange bug kelly reported. I really thought we already had proper checks for the resolution values but it turned out that NaN is greater than GIMP_MIN_RESOLUTION (which is 1e-5 at the moment).
Eventually I'll rise the GIMP_MIN_RESOLUTION value to something that gets displayed as != 0 in the UI with the number of digits we supply for our units. Actually that would mean setting it to 1e-3. Will that be small enough? In the past each time we set a limit someone immidiately started to complain...
Whee, finally finished the remaining bits of the manuscript for the new edition of GIMP kurz und gut. Took several months longer than I had expected, but mostly due to the fact that GIMP is a moving target and 1.2 should have been ready month ago too. However, both the book and The GIMP have definitely benefitted.
GIMP is now receiving the synthetic drop, but obviously there's more to it. Have to figure out how to pass the data with the drop. This is a nice way of learning a few things about X that I could safely ignore so far thanks to GTK+/GDK. But then I hope that Owen shows up on #gimp and just tells me how to do it correctly.
Nick tried to start another flame-war on the mailing-list and I couldn't resist to answer his mail. Well, it was just too provocant. If he's too stupid to recompile GIMP properly, why can't he just ask?!
The GIMP definitely needs something like netscape-remote, i.e. a way to tell a running gimp to open images. Of course doing it in CORBA would be nice, but then we do not yet support CORBA at all and we don't want to introduce this dependancy for 1.2.
Since we are very close to a stable release, there should be no or only very few changes to the core. One way to achieve this would be to use the already available feature that allows the user to open images by dropping files onto the toolbox. A small program gimp-remote could abuse this feature by creating the necessary Xevents to simulate a drop. This idea was born a while ago, but wasn't implemented. So I thought, I'd give it a try.
Ok, finding the toolbox Xwindow was the easy part. Now I have been reading docs, manpages and gdk/gtk+ code for hours and all I know is that creating a synthetic drop event is not as easy as I thought it would be...
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!