Export/Import filters


Long time no update on Karbon development. But i have a new dose for all of you waiting desperately for news. 😉 It all started with a dicsussion on IRC in #koffice. A guy named “frob” asked about the state of the wmf import in karbon because he wanted to compare the support of the wmf format in some open source applications. Karbon in the stable Koffice series has not changed much, if at all, so i told him there is no improvement. And the filters in development branch are all disabled from compilation.
So i thought i should start to do something about the filter status is trunk and began porting some import and export filters for Karbon.
Lucky as i am, the wmf import filter is a rather simple one, good to start the porting effort. It worked out rather easy porting the actual filter, after i digged through the details of the Koffice filter framework.
Some days later i got the wmf import and export, the png export and today the svg export filters working. Now i can use Karbon to work with other file formats than Odf, which is now the default file format. Here are some obligatory screenshots proving my work on the file filters:

Imported wmf file in Karbon Wmf exported to ODG and loaded in karbon File exported to SVG and loaded in inkscape
And finally the file exported to PNG.

The world is a village


Today was one of these occasions where i see someone on the street and think by myself: you know that person from somewhere. But often enough i do not remember at which place or event that was. That makes me trying for some hours or even days to find out who that person is. Normally i won’t remember and forget about that as i do not get to see that person again.
But it was different today as i saw that particular person twice some days before on my way to/from work. So to make a long story short, it was our very own KDE hacker Daniel Molkentin.
Some days before i actually had an idea and looked at the web for a picture of him and immediately recognized his face. So today i just approached him at the bus stop and we chatted a little. Then later at work he invited me by mail to have lunch together with the Berlin Trolltech crew at the nearby university cafeteria. The lunch was nice and the trolls asked if i wanted to see their office. I happily accepted and at the office i got to meet the one and only Matthias Ettrich. Yes that one!
We chatted a little and then played with their soccer table for some minutes. I have to say that Daniel and all the trolls where really nice and i completely forgot the time while there. All in all it was a very enjoyable get-together and i plan to meet them again (and improve my table soccer skills :-)).

More flake ODF loading


The last days i spent more time with improving ODF support in flake. I fixed the loading of enhanced path shapes (special path shapes containing formulas influencing the paths outline) as well as added saving and loading of the background/fill of flake shapes. Let’s see what our famous gearheads have to say about that:

Gearheads in Karbon

Note that the ODF support is still far from perfect, but we are getting better.

Gearheads all around


You called for that, so here it is…

gearhead shape in karbon

Flake shape transformations


Ok that is my first blog post aggregated on kde planet, so if you are interested who i am and what i do just read my introductory post.

Update: Seems like planet dislikes me, so this post didn’t appear on planet KDE.

Phew! Finally i committed my rewrite of the way flake shapes are transformed (i.e. moved, resized, rotated, sheared). This was a rather huge patch which i sent last tuesday to the koffice-devel list for discussion. It actually exceeded the mail attachment limit for the mailing list so it got hold for moderation. And i was wondering if i sent the mail with the wrong mail address.
The rewrite was necessary because the old way had some bugs especially with the shearing code, which nobody including me was able to fix. Another reason is that we needed a way to set/apply a complete transformation matrix read from an ODF or SVG file to a particular shape or group of shapes. This is now possible, where it was not before.
I got no negative comments and Thomas our KOffice flake guru just wanted me to test if my changes work with clipped child shapes (e.g. shapes embedded into a text frame). I did that and actually found some small bugs that i could fix so i felt confident today to commit the whole thing.

Flake ODF loading


The last few days i was busy implementing loading of different flake shapes from ODF. So now the basics for loading of lines, polylines, polygons, regular polygons, circles, ellipses, rectangles and custom shapes works. To prove that there are the obligatory screenshots, one showing the odg file loaded into oodraw and the other shows the same file loaded in karbon.

ODG file loaded in oodraw ODG file loaded in karbon

The next things to do is implementing loading of transformation, borders, backgrounds etc. So there is a lot more work to do, but at least it is a start.



Hi folks i just started that blog, so let me introduce myself. My name is Jan Hambrecht, i live in Berlin/Germany and in my free time i am a KDE developer, specifically working on KOffice. I take care of the KOffice vector-based drawing application named Karbon.
At the moment i am at the KDAB office in Berlin at the KOffice ODF Weekend discussing and hacking on the ODF support for KOffice.
Several people here urged me*cough*suggested that i start blogging to have more publicity about what i am doing on Karbon and how Karbon is evolving. So here it is!