[Scribus] Scribus compiled with msvc.net 2002 : let's start debugging

Craig Ringer craig
Sun Jun 26 17:25:32 CEST 2005

On Sun, 2005-06-26 at 16:43 +0200, Jean Ghali wrote:
> Hi everybody,
> As this is my first message to this list, let's start by the 
> presentation. I apologize by advance for any mistake with my english.

You write better English than most people do in email.

> As the subject says, I managed to compile Scribus including all plugins 
> (except scripter) with msvc.net 2002. More precisely Scribus 1.2.1 and 
> Scribus 1.3.0 cvs. I started my work about a month ago with the 
> following motivations and reasons :

That's fantastic. Great news. I'm somewhat surprised you decided to port
1.2.1 as well, but that's certainly very cool.

> - was curious with the internals of a page layout program
> - wanted to gain some experience with qt and evaluate qtwin-free 
> usability for my own non-professional use

I'm surprised you're doing that now, with Qt4 for Windows only months
away, at most. I guess there are a lot of Qt3 apps out there that will
be a lot of work to port to Qt4 though - Scribus certainly being one of

> So here is my recipe.
> - qtwin-free 3.3.4-3 (compiled with msvc.net 2002)
> - fontconfig 2.2.3

I'm mildly surprised you used fontconfig on Windows. If it works, then

> - got rid of dlfcn header by reimplementing plugin management using QLibrary

If those changes are fairly well separated, would you mind sending a
patch for them my way? We're going to need to convert everything to use
QLibrary for win32 sooner or later, and if you've done the work I'd like
to merge it.

I have some work scheduled on the plug-in API shortly, actually, and I'd
really like to get your opinion on it from a win32 portability
perspective. I'll send you some details shortly.

> - renamed Unit enum values ( POINTS -> SC_POINTS etc...) to avoid 
> conflict with types defined in windows.h header

Again, we should probably merge these changes promptly.

> - win32 ScPainter use GDI functions ( qtwin-free bitBlt functions do not 
> function properly for now )

That's very interesting. It works well?

> Now, let's start debugging the whole thing. For now, most important 
> problems are :
> - make postscript and pdf export work again : seems to be related for 
> some part to unexpected behavior of QString += operators in qtwin-free.

That sounds like an odd one.

> Once mentionned bugs solved, following work includes (in order) :
> - make Scribus automatically locate windows special folder (MyDocuments, 
> Windows font path, etc... )

That seems sensible. A win32 native file dialog would be desirable also.

> - make Scribus automatically locate ghostscript using registry
> - make Scribus use ghostscript dll instead of gswin32c.exe

I'm a bit leery of that one. By spawning ghostscript as a child process,
we isolate ourselves from anything nasty that happens to it due to bad
input, bad fonts, etc. GhostScript tends to be quite stable, but even so
that makes me a little nervous.

Additionally, we can just exec gs on most platforms. Especially on Linux
this is an issue, as not all distros even build the gs libraries, and
when they do they tend to be archaic - it's pretty much standard to have
to upgrade gs. It could be dealt with - I'd just have to tweak configure
to flatly refuse to build until it could get a copy of the gs 8 libs -
but I think the current scheme is easier on users.

I'll be interested in your views on the use of the gs exe vs libs. If
the switch over to the libs is needed I'm happy to help out with that,
especially the configure-and-automake wrangling.

> - python scripting support

Building with MS VCC will help there.

> - for fun, start printing support using QPrinter, Paul having visibly 
> taken the wxPrinter way.

I've forwarded you some mail on that matter. Note that QPrinter, at
least in Qt3, apparently just can't do what we need it to be able to,
but there are potential alternatives.

Craig Ringer

More information about the scribus mailing list