It’s been a crazy month with Sun’s release of the OpenJDK, and Red Hat’s response with the fully-free IcedTea. While my previous Classpath graphics work was interesting, there was always a bit of a cloud hanging over it, knowing that the OpenJDK was going to be released eventually. Now, however, I’ve been able to put some of that experience to use in replacing encumbered OpenJDK code.
Graphics are a major encumberence in the OpenJDK; however the encumbered parts are only critical bits and pieces – not wholesale packages. This makes their replacement all the more difficult; we could throw away all of OpenJDK’s graphics code and completely replace it with Classpath (something I believe Roman Kennke is working on, by plugging Classpath’s GTK peers into the OpenJDK), but I’ve opted to keep as much of the OpenJDK’s X11 code as possible and get that working (including compatibility fixes with colour management and raster creation). If both of our efforts succeed, we’ll have two working toolkits in Linux – pluggable toolkits anybody?
Anyways, I hit a major milestone today as Swing & Java2D work!
Anything that deals with fonts still throws exceptions, since I haven’t started replacing libt2k with Freetype, but that’s next on the list. Again, I’m going to try to keep as much of Sun’s OpenJDK code as possible (rather than replacing classes), meaning I’ll be heading into JNI-land. While Freetype isn’t a perfect replacement, I hope to get at least basic font rendering support into IcedTea.