[Scribus] Scribus compiled with msvc.net 2002 : let's start debugging
Sun Jun 26 16:43:48 CEST 2005
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.
Although I read it well enough, I'm not really used to write (or speak)
in this language. So... I'm a 26 year-old guy living in France (between
Rennes and Le Mans ) and working for a publishing company as a methods
engineer and prepress specialist. Additionnaly, I make some software
development dealing with production automation and management. Mostly
win32 development using C++ Builder. However I often have to make
portable development. For example, I'm lucky enough to play with Adobe
PDF Library (Unix version) and Adobe Acrobat SDK (Windows). Programs get
compiled as plugins on windows and command-line utilities on Linux. No
chance that this kind of code can come to Scribus any time soon...
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 :
- 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
- had some time to spend on the project (and still have)
- fun, fun and fun again.
Why not use MinGW? I just do not want to proceed the same way as Paul.
If I'm allowed to contribute later to Scribus Windows port, I'd be happy
if users had choice in their compiling tools. So different approaches
may be more profitable in my opinion.
So here is my recipe.
- qtwin-free 3.3.4-3 (compiled with msvc.net 2002)
- fontconfig 2.2.3
- freetype 2.1.9
- littlecms 1.14
- libart 2.3.16
- libjpeg 6b
- libtiff 3.7.2
- ghostscript 8.51
- some customized files from libgw32c (signals related files). A hack I
- got rid of dlfcn header by reimplementing plugin management using QLibrary
- renamed Unit enum values ( POINTS -> SC_POINTS etc...) to avoid
conflict with types defined in windows.h header
- win32 ScPainter use GDI functions ( qtwin-free bitBlt functions do not
function properly for now )
- Scribus 1.2.1 port use some backported files from 1.3.0 cvs (scfonts,
Everything got compiled with few or no hassle. The most important
changes allowed plugins to run. Code portability is still maintained.
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.
- avoid application crashs when using plugins. Having previously
developed a pluginable application on win32 (a parser generator), I've
got some idea about the crashs reasons.
First, I'd like to make pdf export work again. The biggest problem has
been located in PDF_Image function. For solving this one, I ask your
help. May someone download the archive below, export the two sla files
inside to PDF using Scribus 1.2.1 and send them back to me? PDF export
options have been defined in the files according to my expectations.
Thanks by advance.
Once mentionned bugs solved, following work includes (in order) :
- make Scribus automatically locate windows special folder (MyDocuments,
Windows font path, etc... )
- make Scribus automatically locate ghostscript using registry
- make Scribus use ghostscript dll instead of gswin32c.exe
- python scripting support
- for fun, start printing support using QPrinter, Paul having visibly
taken the wxPrinter way.
If necessary, I'll contribute patches to qtwin-free (QPrinter especially).
Hope to give some news soon...
More information about the scribus