sK1 / PrintDesign / LinCutter / UniConvertor Too little, too late? sK1 project opens up

Earlier this week, Igor Novikov finally posted the first portion of news regarding development of UniConvertor, PrintDesign, and LinCutter since 2011. LGW revisited the applications in question and found no use for the zombie alarm. Yet.

UniConvertor v2

UC is what the vector graphics editor (PrintDesign) and the vinyl cutter software (LinCutter) use for opening and saving files. It also takes responsibility of color management.

Right now UniConvertor v2 is limited to reading Corel DRAW, PLT and PDFX files, the latter being PrintDesign’s native file format with file structure inherited from OpenDocument.

How well do even these filters work?

PLT importing seems to be largely broken : both PrintDesign and LinCutter spit out an error message and refuse to deal with files produced by other applications, while incorrectly saving and opening its own PLT files. Still, this is an improvement over 2012, when only PDFX files could be opened.

As for Corel Draw support which was once the landmark of UniConvertor, as far as it’s possible to say, very little if anything changed in that code. Perhaps it simply wasn’t the focus at this stage of the development.

To give you idea about the state of affairs, here is how Inkscape renders a CDR file from a clip art collection:

Inkscape renders a CDR file from a clip art collection

Same picture, UniConvertor v2 + PrintDesign:

PrintDesign renders a CDR file from a clip art collection

As you can see, there’s still no support for gradients yet. And it doesn’t read bitmaps, text and color fills made with Pantone or HKS spot colors.

But wait, doesn’t Inkscape use UniConvertor? Not exactly. The unstable version now relies on libcdr and uses UC v1 just for fallback.


At the first glance, PrintDesign looks like a handy simple vector graphics editor, and the bottom swatches toolbar with CMYK values in the tooltips seems way too appealing. Unfortunately, it isn’t yet fit for end-users.

All four types of supported objects

All four types of supported objects: rectangle, polygon, circle, text

Without diffing source code, it’s hard to say how much under-the-hood work was done since late 2011 when Igor announced his plans, posted the first screenshots and uploaded the first code. However there are really not so many user-visible differences:

  • You can now draw and transform circles, polygons (hardcoded to 5 sides).
  • Creating and editing text objects is now possible too, but only via menu+dialog and without any formatting.
  • A user interface for adding and removing pages was implemented, as well as a rather simplistic UI for navigating between the pages.
  • Outline mode was added to the View menu.

At the same time, so many things are broken or unfinished that it’s difficult to say how much time it’s going to take even completing what’s already has been started.

Case in point: if you look at the screenshot above, you’ll see that the text that is supposed to be white (C:0%,M:0%,Y:0%,K:0%) has a brownish cast, and the same applies to the whole swatches palette.

There’s also pretty much missing document navigation and no keyboard control, suspicious kerning (or lack thereof), and no way to create or edit nodes. On top of that, it doesn’t yet export CMYK PDF.

Some of the sorry bugs we ran into are probably easy fixes, so there’s no need to draw hasty conclusions.

The bottom line, however, is that for commercial printing on Linux you’ll have to stick to Scribus or the original sK1 editor for now.


Of the two end-user tools, LinCutter, an application for preparing and sending drawings to a vinyl cutter, seems to be the most complete one. Igor claims that the only reason it hasn’t been released yet is that UniConvertor has to be released first.

Now that at least CDR importing works, it’s possible to get some hands-on experiece with the app.

LinCutter automatically renders all vector objects in ouline modem, which is a sensible thing to do. You can drag these objects around, placing them on the virtual vinyl roll. You can also transform, group/ungroup and combine them.

A CDR document opened in LinCutter<

A CDR document opened in LinCutter<

Obligatory disclaimer: since it hasn’t started reading PLT files correctly (if at all) yet, the screenshot above doesn’t make a lot of sense: you wouldn’t want cutting this kind of a vector drawing.

As for the rest, LinCutter hasn’t changed much since we last looked at it in June 2012. The only new user-visible features are a configurable duplication of items and the slightly reworked Preferences dialog.

How to track development

Was that too much whining for you? Well, you can grab the code, test it and provide useful feeback, now that sK1 project has a Facebook page and a Twitter account as communication channels.

At the moment you only need to build and install UniConvertor: both PrintDesign and LinCutter run from SVN checkouts. The prerequisites are Python development packages for Cairo and LittleCMS. After you have those installed, the commands for running PrintDesign will be:

$ svn checkout uniconvertor-read-only
$ cd uniconvertor-read-only
$ sudo python install
$ cd ../
$ svn checkout print-design-read-only
$ ./print-design-read-only/src/

And for LinCutter, provided you already fetched and installed UniConvertor:

$ svn checkout lincutter-read-only
$ ./lincutter-read-only/src/

Now, if you scrolled down the whole article looking for TL;DRs and a Windows installer:

PrintDesign isn’t nowhere close to being ready for production, but you can watch it maturing and provide feeback.

At the same time, LinCutter is already mostly usable and will be made available along with UniConvertor — hopefully, some time later this year.