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

Jean Ghali jghali
Sun Jun 26 16:43:48 CEST 2005


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. 
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 
know...
- 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, 
scpaths)

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.

http://perso.wanadoo.fr/jghali/scribus/sc_121_test_files.zip

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...

			Jean







More information about the scribus mailing list