r15809 by jghali - merge trunk revisions up to r15806

scribus-commit scribus-commit at lists.scribus.net
Sun Nov 7 22:02:01 CET 2010


Author: jghali
Date: Sun Nov  7 21:02:01 2010
New Revision: 15809

URL: http://scribus.info/websvn/listing.php?repname=Scribus&sc=1&rev=15809
Log:
merge trunk revisions up to r15806

Added:
    branches/ScribusOIF/doc/en/images/eps-imp1.png
      - copied unchanged from r15806, trunk/Scribus/doc/en/images/eps-imp1.png
    branches/ScribusOIF/doc/en/images/eps-imp2.png
      - copied unchanged from r15806, trunk/Scribus/doc/en/images/eps-imp2.png
    branches/ScribusOIF/doc/en/images/eps-imp3.png
      - copied unchanged from r15806, trunk/Scribus/doc/en/images/eps-imp3.png
    branches/ScribusOIF/doc/en/images/eps-imp4.png
      - copied unchanged from r15806, trunk/Scribus/doc/en/images/eps-imp4.png
    branches/ScribusOIF/doc/en/images/eps-imp5.png
      - copied unchanged from r15806, trunk/Scribus/doc/en/images/eps-imp5.png
    branches/ScribusOIF/scribus/scimgdataloader_pgf.cpp
      - copied unchanged from r15806, trunk/Scribus/scribus/scimgdataloader_pgf.cpp
    branches/ScribusOIF/scribus/scimgdataloader_pgf.h
      - copied unchanged from r15806, trunk/Scribus/scribus/scimgdataloader_pgf.h
    branches/ScribusOIF/scribus/third_party/pgf/
      - copied from r15806, trunk/Scribus/scribus/third_party/pgf/
    branches/ScribusOIF/win32/vc8/scribus-pgf/
      - copied from r15806, trunk/Scribus/win32/vc8/scribus-pgf/
Modified:
    branches/ScribusOIF/doc/en/importhints.html
    branches/ScribusOIF/doc/en/importhints1.html
    branches/ScribusOIF/doc/en/intro.html
    branches/ScribusOIF/scribus/CMakeLists.txt
    branches/ScribusOIF/scribus/canvasgesture_rulermove.cpp
    branches/ScribusOIF/scribus/plugins/import/pct/importpct.cpp
    branches/ScribusOIF/scribus/scimage.cpp
    branches/ScribusOIF/scribus/scribus.cpp
    branches/ScribusOIF/scribus/scribusdoc.cpp
    branches/ScribusOIF/scribus/text/storytext.cpp
    branches/ScribusOIF/scribus/text/storytext.h
    branches/ScribusOIF/scribus/third_party/CMakeLists.txt
    branches/ScribusOIF/scribus/ui/about.cpp
    branches/ScribusOIF/scribus/ui/guidemanager.cpp
    branches/ScribusOIF/scribus/ui/guidemanager.h
    branches/ScribusOIF/scribus/ui/storyeditor.cpp
    branches/ScribusOIF/scribus/util_formats.cpp
    branches/ScribusOIF/scribus/util_formats.h
    branches/ScribusOIF/win32/vc8/Scribus.sln
    branches/ScribusOIF/win32/vc8/Scribus.vcproj
    branches/ScribusOIF/win32/vc8/wpgimport/wpgimport.vcproj

Modified: branches/ScribusOIF/doc/en/importhints.html
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/doc/en/importhints.html
==============================================================================
--- branches/ScribusOIF/doc/en/importhints.html (original)
+++ branches/ScribusOIF/doc/en/importhints.html Sun Nov  7 21:02:01 2010
@@ -49,15 +49,6 @@
 <h3>A vector format for the future</h3>
 <p>With the addition of SVG import users have one more excellent way of importing images and artwork. SVG is an abbreviation of &ldquo;Scalable Vector Graphics&rdquo;, an open specification, which is developed by the <a href="w3c.org">World Wide Web Consortium</a>. Scalable means that you can in theory enlarge the the graphic to the size of the side of a house and it would retain its sharpness. Vector is how it does it, vectors meaning the shapes are drawn by mathematical commands instead of pixels. The leading Open Source vector drawing program, Inkscape, uses SVG as its native file format, which is yet another reason for its importance to Scribus users.</p>
 <h3>Other vector formats</h3>
-<p>Over time, import filters for other vector formats have been added, and there are many more to follow. Here&rsquo;s a short description of the formats currently supported by Scribus</p>
-<ul>
-<li><b>AI (Adobe Illustrator)</b>: The native format of Illustrator, or, more precisely, formats. Older versions of AI are basically EPS files that contain some additional features only used by Illustrator. As of Illustrator 9, AI is based on PDF, and, like its predecessor, adds some Illustrator-only information. AI import is still experimental but works very well in most cases. One of the major advantages of the AI import filter (and the EPS filter as well) is that Scribus will load spot colors in AI and EPS files correctly.</li>
-<li><b>FIG (Xfig)</b>: This is the native format of the UNIX veteran Xfig. While rarely used by designers, it's ubiquitous in scientific environments like universities for technical drawings or diagrams. The format is well-documented, and import into Scribus works flawlessly. Its major drawback is that it only supports RGB colors.</li>
-<li><b>SXD (OpenOffice.org Draw 1) and ODG (OpenDocument Graphics)</b>: These are the vector file formats used by OpenOffice.org and other Open Source Office Suites.. Since &ldquo;Office Drawing&rdquo; is quite different from working with a typical vector drawing program, the formats use a lot of features, like automatic connectors, that aren't well-suited for a print workflow. As a result, import will only work with limited success. To get the best import quality out your OpenOffice.org Draw document, you should print it to a PostScript file and then import the latter.</li>
-<li><b>WMF (Windows Metafile)</b>: A vector format used by many Office Suites and also the Windows clipboard. While WMF files are usually rejected by creative professionals, most collections of &ldquo;Office Clipart&rdquo; use this format. The WMF filter has been added to enable users to import these simple vector drawings.</li>
-<li><b>CVG (Calamus Vector Graphic)</b>: A simple vector format used by the DTP veteran Calamus. It only supports grayscale colors.</li>
-<li><b>PICT (Macintosh Picture)</b>. The graphics file format used by the old Mac OS, similar to WMF on Windows. It can contain bitmap or vector data.</li>
-<li><b>SHAPE (Dia Shapes) and SML (Kivio Shape)</b>: Basic vector shapes used by the diagram programs Dia and Kivio. Grayscale/RGB only.</li>
-</ul>
+<p>Over time, import filters for other vector formats have been added, and there are many more to follow. See <a href="importhints2.html">Importing Vector Drawings</a> for more details.
 </body>
 </html>

Modified: branches/ScribusOIF/doc/en/importhints1.html
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/doc/en/importhints1.html
==============================================================================
--- branches/ScribusOIF/doc/en/importhints1.html (original)
+++ branches/ScribusOIF/doc/en/importhints1.html Sun Nov  7 21:02:01 2010
@@ -6,68 +6,57 @@
 <body>
 <h2>Importing EPS</h2>
 <h3>What is EPS?</h3>
+<p>EPS (Encapsulated PostScript) is a subset of the page description language <a href="http://www.tailrecursive.org/postscript/what-is-it.html">PostScript</a>. While PostScript is used to describe the graphical elements of one or more pages in a device-independent manner, an EPS file contains PostScript elements for a single image, and, importantly, must include a so-called Bounding Box, a rectangular which is necessary to describe the dimensions of the image. Like PostScript, an EPS file can contain bitmap images (pixels) vector data and text. Also, most, if not all EPS files are not meant to be edited, since EPS, like PDF, is designed as an exchange format.</p>
 
 <h3>Why EPS?</h3>
+<p>Perhaps the main reason to use EPS is its ubiquity in most professional print workflows. If in doubt, most graphics professional will ask for or send you an EPS file, which is sometimes seen as the lowest common denominator for high-quality graphics files. Also, the EPS format is well-documented, and the specification is <a href="http://www.adobe.com/content/dam/Adobe/en/devnet/postscript/pdfs/5002.EPSF_Spec.pdf">publically available</a>. When it comes to vector graphics, EPS (or a successor format like AI or PDF) is unsurpassed in terms of quality. While relatively unimportant with small graphics in a flier, it&rsquo;s safe to say that for large output media like posters, EPS may be the only reliable choice for vector graphics if superior print quality is important. Finally, the EPS format provides some features that are important in professional printing, like font embedding or support for CMYK and spot colors.</p>
 
 <h3>EPS Import</h3>
+<p> There are two basic methods of importing EPS files, and both have pluses and minuses. For some files you can choose which method suits your needs best, while other files can only be imported one way.</p>
 
 <h4>EPS Previews</h4>
+<p>One of the idiosyncracies of the EPS format that frequently causes confusion with inexperienced users is the EPS preview. The PostScript language had been designed to describe pages for a printing device, and at the time the format was introduced, computers weren&rsquo;t capable of rendering the highly complex content of a PS file on screen. The same was, of course, true for EPS, and to provide users some visual indication of a file&rsquo;s content, preview images were embedded in an EPS file. Unfortunately, there is no uniform standard for the format of the preview image, and the preview isn&rsquo;t even required. As a result, applications on Macs used the Mac&rsquo;s PICT format for previews, Windows applications Windows Metafiles, and UNIX programs ASCII-encoded bitmaps, which made the preview unworkable across platforms. For those who previously avoided using EPS files because of their lacking preview and/or poor support by programs like word processors, there is som!
 e good news: Scribus will always create a useable preview in its file dialogs, either based on the embedded preview, or, if the latter doesn&rsquo;t work, by using Ghostscript to create a low-resolution PNG that displays the content of an EPS file. Likewise, no matter how you import an EPS, what you see in Scribus is always the orginal content, not a preview. Be aware, though, that a Scribus file dialog always indicates the color space and the resolution of the preview image, not the ones in the EPS itself. Note that creating the preview for a large and complex EPS file may take some time to render:</p><br>
+
+<table width="100%"><tr><td align="center"><img src="images/eps-imp1.png" title="EPS preview in a file dialog" alt="EPS preview in a file dialog" /></td></tr></table><br>
 
 <h4>Importing into an image frame</h4>
+<p>This is usually the safest way to import an EPS. Provided Ghostscript is installed and properly <a href="gsfont.html">configured</a>, it works just like with any other <a href="WwImages.html">bitmap image</a>. However, since Scribus uses Ghostscript to rasterize the EPS, loading and rendering may take some time.</p>
+
+<h5>Caveats</h5>
+<li>Photoshop can export EPS natively, but these are mostly raster objects within the EPS, with some Photoshop-specific features like layers and blend modes. Photoshop also can export a special type of EPS called DCS (Desktop Color Separations). This flavor of EPS is best imported into an image frame, where Scribus will detect and enable extended image editing/displaying capabilities. See the section about <a href="psd.html">PSD import</a> for more information.</li>
+<li>Image mask doesn&rsquo;t work correctly.</li>
+<li>Clipping paths are ignored.</li>
 
 <h4>Importing as a vector drawing</h4>
+<p>Importing EPS like any other <a href="importhints2.html">vector file</a> via <i>File > Import >Get Vector File</i>, if possible, does have some advantages. Since you are working with vector data, file size and exported PDF size are relatively small. It makes them resolution-independent, so they can be re-scaled without losing crispness in printing.</p>
+<p>One of the major advantages of EPS vector import is that some important publishing features will be preserved, for example CMYK and spot colors in EPS files. Scribus will add these to the color list of your document:</p><br>
 
-<h4>Caveats</h4>
+<table width="100%"><tr><td align="center"><img src="images/eps-imp5.png" title="Colors imported from an EPS file" alt="Colors imported from an EPS file" /></td></tr></table><br>
 
-<h3>Special EPS files</h3>
-
-<p>To better your chances of successfully importing EPS/PS files it helps to have three ingredients:</p>
- <ul>
-<li>An EPS/PS file which is conformant to the published specs. Not all applications export EPS files with the same level of fidelity, nor do all embed fonts properly.</li>
-<li>The latest Ghostscript available for your platform.</li>
-<li>Where an EPS file has fonts embedded, ensuring Ghostscript's font paths are setup correctly. See: <a href="gsfont.html">Ghostscript Fonts</a> for hints. This is mostly for folks using Linux or Unix with X-Windows. Windows and MacOSX users will not need to worry so much about font configuration with Ghostscript.</li></ul>
-<p>There are two basic methods of importing EPS files and both have pluses and minuses. The first and most often preferred method is to import the EPS into Scribus as native objects. Both have trade-offs, partly because of the inherent nature of EPS files. Like PDF, most, if not all EPS are not meant to be edited, but EPS is more of an an exchange format. However, importing them as native Scribus objects can allow some editing of some of the content, as well as re-scaling them without loss of resolution. </p>
-
-<p>The second is simply importing the EPS file into an image frame, much like the methods used by the GIMP or Photoshop. That is <em>rasterize</em>, or turn the EPS/PS file into a bitmap like a tiff or JPEG. This method may be the only possibility if the EPS file has embedded images. </p>
-<h4>Importing Hints:</h4>
-<p>One of my preferred ways to import EPS/PS files in to Scribus is to simply create a new document via File > Open > Select EPS/PS from the drop down in the file dialog. Then directly import the EPS/PS file. This creates a new document in which the page size is automatically calculated from the EPS bounding box. Save this temporarily under a file name.</p><p> Then, re-open the target document for import. Create a new layer and then use the page import function to import your newly created document into the new layer in your existing document. This prevents any of the imported elements from disturbing existing objects and allows you to place with precision where you want the file.</p>
-<h4>Other EPS/PS Hints:</h4>
-<ul>
-   <li>Users saving from Adobe Illustrator 9.0+ are urged to "backsave" to Illustrator version 7 or less. Why ? Illustrator 9.0+ actually uses PDF as a native format and embeds quite a bit of Adobe specific info in the EPS which can cause issues when importing. (Scribus is not alone with this issue.)  </li>
-   <li>Photoshop can export EPS natively, but these are mostly raster objects within the EPS, with some Photoshop specific features with layers and blend modes. Photoshop also can export  a special type of EPS called DCS (Desktop Color Separations). These type of EPS files are best imported into an image frame, where Scribus will detect and enable extended image editing/displaying capabilities. <a href="psd.html">More hints for Photoshop files.</a></li>
-<li>You are well advised if possible to separate images from vector and import only the vector artwork as EPS. See below.</li>
-   <li>Scribus can import multipage PS files via File > Open. Scribus will create as many pages as the PostScript file contains, but for Postscript files which are purely text this is not recommended. Currently, text is converted to outlines on import. If you need the text contained within the Postscript file you can use GSview to extract the text or the command line tool ps2ascii which comes with Ghostscript. This tool works on Windows and OSX as well. </li>
-<li>If your platform supports it, GSview is recommend above all other PostScript viewers for diagnosing and previewing Postscript. While the display is not color managed, it will generally help to diagnose issues with importing in Scribus. Simply typing <strong>M</strong> will give you a window with sometimes helpful diagnostic info.</li>
-<li>When exporting EPS or PostScript files, if possible fully embed the fonts if the option is given.</li>
- </ul>
-<h4>Importing EPS files with Embedded Raster Graphics</h4>
-<p>Scribus can import EPS files which contain embedded raster graphics (bitmaps). However, this works far better with Ghostscript 8.50+ and there are some limitations:</p>
-<ul>
-<li>Imagemask doesn't work correctly</li>
-<li>Clipping paths are ignored</li>
-<li>Importing will create one file (A Tiff) for each bitmap and there can be many within an EPS.</li>
-</ul>
-<h3>Importing EPS as an Image</h3>
-<p>When you wish to import an EPS into Scribus and it has a mix of text, images and vector, this is the only real option. Importing in this manner, provided the fonts are correctly embedded, usually works very reliably and will maintain fidelity to the CMYK colors defined in the EPS. On initial import Scribus will ignore any embedded preview tiff or pict and will generate its own low resolution preview of the EPS. If nothing displays this is a hint something is not working correctly in the import and needs closer inspection. When exporting to PDF, the EPS is rerun through Ghostscript as it is embedded into the PDF, so do not be surprised about long PDF export times or high memory usage.
-</p>
-<p>To import EPS as an image:</p>
-<ul>
-   <li>Select the Insert Picture Tool </li>
-   <li>Left Click Drag the frame to your chosen size.</li>
-   <li>Right click the new Image Frame and select  <strong>Get Picture..</strong> </li>
- </ul>
-<h3>Importing EPS as Native Scribus Objects.</h3>
-<p>Importing EPS as Scribus native objects, when possible, does have some advantages. First, they are all vector, so file size and exported PDF size are relatively small. It makes them resolution independent, so they can be re-scaled without losing crispness in printing. The bonus is you can edit the graphical elements like lines, polygons and curves natively.</p>
-<p>To import an EPS as a native Scribus Object:</p>
-<ul>
-   <li><strong>File > Import > Import EPS/PS</strong>  </li>
-   <li>Select the EPS. if you have previews enabled in the file chooser, large complex EPS file may take some time to render. </li>
-   <li>Left Click to Drop the Cursor where you want to place the file. Once dropped on the canvas, the EPS file objects are grouped. You will need to ungroup them to edit individual objects. To scale an imported EPS, select the lower right corner and Ctrl + Left Click Drag up or down as needed. This will scale your EPS proportionately.</li>
- </ul>
+<p>Likewise, if fonts are embedded in the EPS file, Scribus will use them, if installed on your system. You can then edit text in the imported drawing. If the embedded font is missing, you will be asked for a substitution:</p><br>
+<table width="100%"><tr><td align="center"><img src="images/eps-imp4.png" title="EPS font substitution" alt="EPS font substitution" /></td></tr></table><br>
 
 
-<h4>Troubleshooting EPS Import </h4>
-<p>As mentioned above, EPS export quality from other applications can vary widely. Some applications like to add their own ingredients to the sauce - unfortunately. The first step for testing a failed import is open the file in <a href="toolbox6.html">GSview</a>, then press <strong>M</strong> to watch the messages from Ghostscript as it attempts to open the file. When you have a failure in GSview, the messages can be sometime cryptic, but they are a helpful pointer to see what is the problem.</p>
-<p></p>
+<h5>Caveats</h5>
+<ul>
+<li>Importing an EPS file as a vector drawing may take <b>very</b> long, depending on the complexity of the source file. If you choose this import method, Scribus displays a progress dialog, which can give you an impression of the work that&rsquo;s going on in the background, e.g. analyzing the EPS, and generating native Scribus objects:<br>
+<table width="100%"><tr><td align="center"><img src="images/eps-imp2.png" title="EPS import progress" alt="EPS import progress" /></td></tr></table><br>
+</li>Many EPS files that contain beautiful artwork look like they consist exclusively of vector data. However, if you take a closer look, you will notice that more often than not a &ldquo;vector&rdquo; drawing actually contains bitmap files as well. There can be many reasons for the inclusion of bitmap files in EPS &ldquo;drawings&rdquo;. For example, an artist using Illustrator may have worked with bitmap design elements for performance reasons (using hundreds of vector elements requires much more computing power). Another reason may be that the program that created the EPS has some artistic features that cannot be &ldquo;translated&rdquo; into PostScript, so certain vector elements had to be converted to bitmaps. Also note that many design templates for fliers or postcards combine vector data, bitmaps and fonts into a single file, simply because EPS files can be read by many drawing and page layout programs.<br>
+If you are working with this kind of &ldquo;mixed&rdquo; EPS, you need to be very careful! First, when such a file is being imported into Scribus, Ghostscript will convert every single bitmap in the source file into a format that can be read by Scribus. This may take quite some time, but more importantly, Ghostscript will save every converted bitmap on your hard disk in your home directory, and depending on the content of the source EPS, you may run out of disk space faster than you can imagine! Since Scribus files are plain text and do not store any bitmap data, you will also have to distribute all the converted bitmap files with your SLA file if you want to edit or output the file on another computer. To find the required files, look for files with the name of the original EPS and the file extensions PNG, TIF(F), PSD and DAT (the DAT files are so-called &ldquo;raw&rdquo; bitmaps). This can be quite cumbersome, and you can make your life easier by using <i>File > Collect f!
 or Output</i>.<br><br>
+<table border="1" align="center">
+  <tbody>
+    <tr>
+      <td><span style="color: red;">A special note for LaTeX users: If your LaTeX file uses bitmap fonts and you create an EPS or PostScript file from your LaTeX source, Ghostscript will create a bitmap for each glyph during import into Scribus, which may result in hundreds or even thousands of tiny bitmaps. If you really need to use a bitmap font, you should either consider using a Scribus <a href="renderframes.html">Render Frame</a> or loading the EPS/PS file into an image frame.</span></td>
+    </tr>
+  </tbody>
+</table>
+<br>
+A second potential issue is bitmap file incompatibility and is most likely to occur with recent versions of Illustrator. Illustrator is often used alongside Photoshop, and the changes made to Photoshop&rsquo;s PSD format since version 6 haven&rsquo;t been published. Thus, Ghostscript&rsquo;s attempts to read or convert those embedded PSDs may fail, which will trigger a warning in Scribus:
+<br><table width="100%"><tr><td align="center"><img src="images/eps-imp3.png" title="Bitmap conversion failure" alt="Bitmap conversion failure" /></td></tr></table><br></li>
+<li>EPS export quality from other applications can vary widely. Some applications unfortunately like to add their own ingredients to the sauce. The first step for testing a failed import is to open the file in <a href="toolbox6.html">GSview</a>, then press <b>M</b> to watch the messages from Ghostscript while it attempts to open the file. When you have a failure in GSview, the messages can be cryptic sometimes, but they may be a helpful pointer to see what is the problem.</li>
+<li>Users saving from Adobe Illustrator 9.0 or later are urged to either export to EPS versions compatible with Illustrator version 7 or less <b>or</b> use Illustrator&rsquo;s native AI format for import into Scribus. Why? Illustrator 9+ actually uses PDF as a native format and embeds quite a bit of Adobe-specific data in an EPS, which can cause issues when importing. Scribus is not alone with this issue.</li>
+</ul>
+<h3>Special EPS files</h3>
+<p>Some EPS files cannot be opened by Scribus at all, despite being 100% compliant to the specification. These files serve special purposes and may not have any image contents at all. For example, colour palette files from commercial vendors are often shipped as EPS files, because these palettes can be read by most graphics programs, including Scribus. Their only content is a list of colors. Other examples are symbol or pattern libraries for Adobe Illustrator. The content of these files will be loaded into the respective resource dialogs in Illustrator, but it can&rsquo;t be accessed directly by most other programs, including Scribus.</p>
 </body>
 </html>

Modified: branches/ScribusOIF/doc/en/intro.html
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/doc/en/intro.html
==============================================================================
--- branches/ScribusOIF/doc/en/intro.html (original)
+++ branches/ScribusOIF/doc/en/intro.html Sun Nov  7 21:02:01 2010
@@ -6,19 +6,24 @@
 <body>
 <h2>Preface</h2>
 
-<p>This document is a semi-ambitious attempt to create something quite different in technical documentation. The aim is to give the reader a new and different way of learning about a software program, but also using the very tools of the program - while it is being developed to create this modest tome. This documentation is ideally in printed form and also in electronic form using the features of the freely available Adobe Acrobat Reader.</p>
+<p>What you have before you, the Scribus Online Help, started as a &ldquo;semi-ambitious attempt to create something quite different in technical documentation.&rdquo; When Peter Linnell, a professional pre-press consultant, who later acquired some fame in the Open Source community under his nickname <b>mrdocs</b>, entered a new territory with Linux, he stumbled across Scribus, which was still in its infancy at the time he joined the team. OK, strike &ldquo;joined&rdquo;. Peter Linnell actually <b>created</b> the Scribus Team, because back then, the project founder, Franz Schmid, was working alone. Peter Linell not only introduced Franz Schmid to the requirements of the printing industry, but also helped to attract other contributors.</p>
+<p>Here&rsquo;s Peter&rsquo;s report on how the Scribus documentation came into being:</p>
 
-<p>That I am writing this at all is a perfect example of chance in life.  Maybe,  even worthy of a little story. On the suggestion of a friend in IT, I started tinkering with Red Hat Linux in a part time attempt to broaden my world beyond desktop PC's. When one explores a new world, one often looks for things which are common with the old, even if just for comparison.  So, once I discovered Gnome and KDE and even learned how to compile programs, I thought this is not so difficult. </p>
+<blockquote><i>
+<p>That I am writing this at all is a perfect example of chance in life.  Maybe even worthy of a little story.</p>
+<p>On the suggestion of a friend in IT, I started tinkering with RedHat Linux in a part-time attempt to broaden my world beyond desktop PCs. When one explores a new world, one often looks for things which are common with the old, even if just for comparison. So, once I discovered Gnome and KDE and even learned how to compile programs, I thought this is not so difficult.</p>
 
-<p>A quick hop on Google, yielded a home page with Scribus 0.3.6, a Quark-like DTP program which had just started to be developed. So, download, do the ./configure bit and splat: Scribus won't compile. I fire off a quick e-mail with the gobbly-gook error message I had yet to understand and surprisingly just 20 minutes later a polite reply explaining the error of my ways. Good sign...</p>
+<p>A quick hop on Google yielded a home page with Scribus 0.3.6, a Quark-like DTP program which had just started to be developed. So, download, do the ./configure bit and splat: Scribus won&rsquo;t compile. I fire off a quick e-mail with the gobbly-gook error message I had yet to understand and surprisingly just 20 minutes later a polite reply explaining the error of my ways. Good sign...</p>
 
-<p>A few e-mails later over the course of a few weeks, Scribus had a documenter who had very little understanding of application development, nor how to write even the most basic html. However, I knew and liked desktop publishing and had that sixth sense Scribus was and could be something really special. </p> 
+<p>A few e-mails later over the course of a few weeks, Scribus had a documenter who had very little understanding of application development, nor how to write even the most basic html. However, I knew and liked desktop publishing and had that sixth sense Scribus was and could be something really special.</p> 
 
-<p>In the open source world, there are some great programs which are wholly lacking in any kind of documentation. There are also great programmers who are abysmal at documenting things. (Franz despite having English as a second language is excellent at explaining things.)</p>
+<p>In the Open Source world, there are some great programs which are wholly lacking in any kind of documentation. There are also great programmers who are abysmal at documenting things. (Franz [the founder of the project] despite having English as a second language is excellent at explaining things.)</p>
+</i>
+</blockquote>
 
-<p>Thus, the following, is my modest attempt at adding some help to a great program.</p>
-
-<p>More to come... </p>
-
+<p>So, that&rsquo;s how the Scribus documentation started, but as Scribus attracted more developers, and the more ambitious the project became, the less maintainable the documentation appeared to be for a single person. As is natural with successful Open Source projects, more people volunteered to expand the scope of information available about Scribus. It started with the <a href="http://wiki.scribus.net/index.php/Main_Page">Scribus Wiki</a>, an ongoing successful collaborative effort, and reached a climax with the publication of the <a href="http://www.amazon.com/Scribus-Open-Source-Publishing-Christoph-Sch%C3%A4fer/dp/0956078001/ref=sr_1_1?s=books&ie=UTF8&qid=1289106422&sr=1-1">Official Scribus Manual</a>.</p>
+<p>But the documentation efforts didn&rsquo;t stop with the publication of a printed book, quite the contrary! A review of the available documentation showed that many documents, while appropriately describing Scribus&rsquo;s features at the time they were written, needed an update to reflect the vast number of features Scribus that had been added in the meantime, whereas some workarounds for Linux-related issues simply aren&rsquo;t necessary any longer on modern Linux desktops.</p>
+<p>The growing complexity of Scribus also collided with the original concept of the documentation, which can be described as as a mix of a diary and a field report, with some additional elements of a manual for sysadmins. This approach was undoubtedly necessary at the time the original documentation was written, as Scribus was first and foremost a Linux program back then. Fortunately, the Linux desktop is very user-friendly these days, and Scribus has been ported to other platforms as well.</p>
+<p>As a result, the Scribus documentation can now focus on a more structured approach, which will provide much more information about the practical use of the program. The priceless background information from Peter Linnell in the original documentation will naturally survive, albeit in another form, i.e., it will be spread across those documents, for which the respective information seems applicable. And of course Peter Linnell is still <b>mrdocs</b>, which is yet another reason to have great expectations when it comes to further improvements to the Scribus documentation&nbsp;...</p>
 </body>
 </html>

Modified: branches/ScribusOIF/scribus/CMakeLists.txt
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/CMakeLists.txt
==============================================================================
--- branches/ScribusOIF/scribus/CMakeLists.txt (original)
+++ branches/ScribusOIF/scribus/CMakeLists.txt Sun Nov  7 21:02:01 2010
@@ -556,6 +556,7 @@
   scimgdataloader_gimp.cpp
   scimgdataloader_jpeg.cpp
   scimgdataloader_pdf.cpp
+  scimgdataloader_pgf.cpp
   scimgdataloader_pict.cpp
   scimgdataloader_ps.cpp
   scimgdataloader_psd.cpp
@@ -866,6 +867,7 @@
   ${CMAKE_CURRENT_BINARY_DIR}/styles
   ${CMAKE_CURRENT_BINARY_DIR}/text
   ${CMAKE_CURRENT_BINARY_DIR}/third_party/wpg
+  ${CMAKE_CURRENT_BINARY_DIR}/third_party/pgf
 )
 
 IF(HAVE_OSG)
@@ -889,6 +891,8 @@
 ENDIF (HAVE_BOOST)
 SET(SCRIBUS_WPG_LIB "scribus_wpg_lib")
 SET(SCRIBUS_HARFBUZZ_LIB "scribus_harfbuzz_lib")
+
+SET(SCRIBUS_PGF_LIB "scribus_pgf_lib")
 
 INCLUDE_DIRECTORIES(
   ${CMAKE_SOURCE_DIR}
@@ -1052,6 +1056,7 @@
   ${SCRIBUS_STYLES_LIB}
   ${SCRIBUS_FONTS_LIB}
   ${SCRIBUS_WPG_LIB}
+  ${SCRIBUS_PGF_LIB}
   ${SCRIBUS_HARFBUZZ_LIB}
 )
 

Modified: branches/ScribusOIF/scribus/canvasgesture_rulermove.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/canvasgesture_rulermove.cpp
==============================================================================
--- branches/ScribusOIF/scribus/canvasgesture_rulermove.cpp (original)
+++ branches/ScribusOIF/scribus/canvasgesture_rulermove.cpp Sun Nov  7 21:02:01 2010
@@ -28,6 +28,8 @@
 void RulerGesture::drawControls(QPainter* p)
 {
 	Page* page = m_doc->currentPage();
+	if (m_haveGuide)
+		page = m_doc->Pages->at(m_page);
 	QColor color(m_doc->guidesPrefs().guideColor);
 	p->save();
 	QPoint pageOrigin = m_canvas->canvasToLocal(QPointF(page->xOffset(), page->yOffset()));
@@ -194,6 +196,8 @@
 						m_doc->Pages->at(page)->guides.addHorizontal(mousePointDoc.y() - m_doc->Pages->at(page)->yOffset(), GuideManagerCore::Standard);
 						m_page = page;
 					}
+					if (m_doc->currentPage() != m_doc->Pages->at(m_page))
+						m_doc->setCurrentPage( m_doc->Pages->at(m_page) );
 					m_doc->changed();
 				}
 				else
@@ -248,6 +252,8 @@
 						m_doc->Pages->at(page)->guides.addVertical(mousePointDoc.x() - m_doc->Pages->at(page)->xOffset(), GuideManagerCore::Standard);
 						m_page = page;
 					}
+					if (m_doc->currentPage() != m_doc->Pages->at(m_page))
+						m_doc->setCurrentPage( m_doc->Pages->at(m_page) );
 					m_doc->changed();
 				}
 				else

Modified: branches/ScribusOIF/scribus/plugins/import/pct/importpct.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/plugins/import/pct/importpct.cpp
==============================================================================
--- branches/ScribusOIF/scribus/plugins/import/pct/importpct.cpp (original)
+++ branches/ScribusOIF/scribus/plugins/import/pct/importpct.cpp Sun Nov  7 21:02:01 2010
@@ -1158,7 +1158,7 @@
 			Bc = 0x0000;
 			break;
 	}
-	int redC, greenC, blueC, hR, hG, hB;
+	int redC, greenC, blueC;
 	redC = qRound((Rc / 65535.0) * 255.0);
 	greenC = qRound((Gc / 65535.0) * 255.0);
 	blueC = qRound((Bc / 65535.0) * 255.0);
@@ -1190,7 +1190,7 @@
 	ScColor tmp;
 	ColorList::Iterator it;
 	quint16 Rc, Gc, Bc;
-	int redC, greenC, blueC, hR, hG, hB;
+	int redC, greenC, blueC;
 	ts >> Rc >> Gc >> Bc;
 	redC = qRound((Rc / 65535.0) * 255.0);
 	greenC = qRound((Gc / 65535.0) * 255.0);

Modified: branches/ScribusOIF/scribus/scimage.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/scimage.cpp
==============================================================================
--- branches/ScribusOIF/scribus/scimage.cpp (original)
+++ branches/ScribusOIF/scribus/scimage.cpp Sun Nov  7 21:02:01 2010
@@ -20,6 +20,7 @@
 #include "scimgdataloader_ps.h"
 #include "scimgdataloader_psd.h"
 #include "scimgdataloader_pdf.h"
+#include "scimgdataloader_pgf.h"
 #include "scimgdataloader_qt.h"
 #include "scimgdataloader_tiff.h"
 #include "scimgdataloader_wpg.h"
@@ -1749,6 +1750,8 @@
 	}
 	else if (ext == "pat")
 		pDataLoader.reset( new ScImgDataLoader_GIMP() );
+	else if (ext == "pgf")
+		pDataLoader.reset( new ScImgDataLoader_PGF() );
 	else if ((ext == "pct") || (ext == "pic") || (ext == "pict"))
 		pDataLoader.reset( new ScImgDataLoader_PICT() );
 	else if (ext == "wpg")
@@ -2012,6 +2015,8 @@
 		pDataLoader.reset( new ScImgDataLoader_JPEG() );
 	else if (ext == "pat")
 		pDataLoader.reset( new ScImgDataLoader_GIMP() );
+	else if (ext == "pgf")
+		pDataLoader.reset( new ScImgDataLoader_PGF() );
 	else if ((ext == "pct") || (ext == "pic") || (ext == "pict"))
 		pDataLoader.reset( new ScImgDataLoader_PICT() );
 	else if (ext == "wpg")

Modified: branches/ScribusOIF/scribus/scribus.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/scribus.cpp
==============================================================================
--- branches/ScribusOIF/scribus/scribus.cpp (original)
+++ branches/ScribusOIF/scribus/scribus.cpp Sun Nov  7 21:02:01 2010
@@ -8503,7 +8503,10 @@
 	//CB done by doc::reformpages
 	//slotDocCh();
 	pagePalette->Rebuild();
-	guidePalette->setupPage();
+	// #9476 : call setupPage with false arg to setup only guidePalette GUI
+	// Otherwise setupPage() will apply guides to current page, doesn't need that, 
+	// Apply_MasterPage() has already done it
+	guidePalette->setupPage(false);
 	delete dia;
 }
 

Modified: branches/ScribusOIF/scribus/scribusdoc.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/scribusdoc.cpp
==============================================================================
--- branches/ScribusOIF/scribus/scribusdoc.cpp (original)
+++ branches/ScribusOIF/scribus/scribusdoc.cpp Sun Nov  7 21:02:01 2010
@@ -10447,7 +10447,9 @@
 		m_ScMW->guidePalette->setDoc(this);
 		if (!isLoading())
 		{
-			m_ScMW->guidePalette->setupPage();
+			// #9476 : call setupPage with false arg to setup only guidePalette GUI
+			// Otherwise expect problems when applying masterpages with guides
+			m_ScMW->guidePalette->setupPage(false);
 			m_ScMW->pagePalette->markPage(newPage->pageNr());
 		}
 	}

Modified: branches/ScribusOIF/scribus/text/storytext.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/text/storytext.cpp
==============================================================================
--- branches/ScribusOIF/scribus/text/storytext.cpp (original)
+++ branches/ScribusOIF/scribus/text/storytext.cpp Sun Nov  7 21:02:01 2010
@@ -718,8 +718,8 @@
 // positioning. all positioning methods return char positions
 // FIXME: make that methods use correct semantic boundaries
 
-static QString wordBoundaries(" .,:;\"'!?\n");
-static QString sentenceBoundaries(".:!?\n");
+static QString wordBoundaries(" .,:;\"'!?\n\t");
+static QString sentenceBoundaries(".:!?\n\t");
 
 int StoryText::nextChar(int pos)
 {
@@ -781,6 +781,45 @@
 	return pos;
 }
 
+QString StoryText::wordAt(int pos) const
+{
+	if (pos < 0)
+		pos += length();
+	assert(pos >= 0);
+
+	int len = length();
+	//Find the previous word position
+	int tmpPosStart = qMax(0, pos-1);
+	int startWordPos=0;
+	if (tmpPosStart!=0)
+	{
+		while (tmpPosStart > 0 && wordBoundaries.indexOf(text(tmpPosStart)) < 0)
+			--tmpPosStart;
+		startWordPos= wordBoundaries.indexOf(text(tmpPosStart)) < 0 ? tmpPosStart + 1 : tmpPosStart;
+		++startWordPos;
+	}
+	qDebug ()<<"Start Word Pos:"<<startWordPos;
+	//Find the next word position
+	int tmpPosEnd = qMin(len, pos+1);
+	while (tmpPosEnd < len  && wordBoundaries.indexOf(text(tmpPosEnd)) < 0)
+	{
+		qDebug()<<tmpPosEnd<<text(tmpPosEnd)<<wordBoundaries.indexOf(text(tmpPosEnd));
+		++tmpPosEnd;
+	}
+	int endWordPos=tmpPosEnd < len ? tmpPosEnd + 1 : tmpPosEnd;
+	if (endWordPos>0)
+		--endWordPos;
+	qDebug ()<<"End Word Pos:"<<endWordPos;
+	QString result;
+	StoryText* that(const_cast<StoryText*>(this));
+	for (int i = startWordPos; i < endWordPos; ++i)
+	{
+		result += that->data->text(i);
+	}
+	return result;
+}
+
+// these need valid layout:
 
 // selection
 

Modified: branches/ScribusOIF/scribus/text/storytext.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/text/storytext.h
==============================================================================
--- branches/ScribusOIF/scribus/text/storytext.h (original)
+++ branches/ScribusOIF/scribus/text/storytext.h Sun Nov  7 21:02:01 2010
@@ -112,6 +112,7 @@
  	virtual int length() const;
  	virtual QChar text(int pos) const;
  	virtual QString text(int pos, uint len) const;
+	virtual QString wordAt(int pos) const;
 	virtual TextFlags& charAttributes(int pos);
 	virtual const TextFlags& charAttributes(int pos) const;
 

Modified: branches/ScribusOIF/scribus/third_party/CMakeLists.txt
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/third_party/CMakeLists.txt
==============================================================================
--- branches/ScribusOIF/scribus/third_party/CMakeLists.txt (original)
+++ branches/ScribusOIF/scribus/third_party/CMakeLists.txt Sun Nov  7 21:02:01 2010
@@ -12,4 +12,6 @@
 
 ADD_SUBDIRECTORY(wpg)
 
+ADD_SUBDIRECTORY(pgf)
+
 ADD_SUBDIRECTORY(harfbuzz/src)

Modified: branches/ScribusOIF/scribus/ui/about.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/ui/about.cpp
==============================================================================
--- branches/ScribusOIF/scribus/ui/about.cpp (original)
+++ branches/ScribusOIF/scribus/ui/about.cpp Sun Nov  7 21:02:01 2010
@@ -114,8 +114,8 @@
 	buildID = new QLabel( tab );
 	buildID->setAlignment(Qt::AlignCenter);
 	buildID->setTextInteractionFlags(Qt::TextSelectableByMouse);
-	QString BUILD_DAY = "24";
-	QString BUILD_MONTH = CommonStrings::october;
+	QString BUILD_DAY = "7";
+	QString BUILD_MONTH = CommonStrings::november;
 	QString BUILD_YEAR = "2010";
 	QString BUILD_TIME = "";
 	QString BUILD_TZ = "";

Modified: branches/ScribusOIF/scribus/ui/guidemanager.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/ui/guidemanager.cpp
==============================================================================
--- branches/ScribusOIF/scribus/ui/guidemanager.cpp (original)
+++ branches/ScribusOIF/scribus/ui/guidemanager.cpp Sun Nov  7 21:02:01 2010
@@ -124,14 +124,14 @@
 	tabWidget->setEnabled(doc ? true : false);
 }
 
-void GuideManager::setupPage()
+void GuideManager::setupPage(bool storeValues)
 {
 	if (!m_Doc)
 		return;
 	m_drawGuides = false;
 	setEnabled(true);
 	// store old values for current page (=page to leave)
-	if (currentPage)
+	if (currentPage && storeValues)
 		storePageValues(currentPage);
 
 	currentPage = m_Doc->currentPage();

Modified: branches/ScribusOIF/scribus/ui/guidemanager.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/ui/guidemanager.h
==============================================================================
--- branches/ScribusOIF/scribus/ui/guidemanager.h (original)
+++ branches/ScribusOIF/scribus/ui/guidemanager.h Sun Nov  7 21:02:01 2010
@@ -42,7 +42,7 @@
 
 	/*! \brief Set the widgets on the page change.
 	It has to be called on every page to page transition */
-	void setupPage();
+	void setupPage(bool storeValues = true);
 	void setupGui();
 
 	/*! \brief Clear and reset the GUI horizontal list widget. */

Modified: branches/ScribusOIF/scribus/ui/storyeditor.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/ui/storyeditor.cpp
==============================================================================
--- branches/ScribusOIF/scribus/ui/storyeditor.cpp (original)
+++ branches/ScribusOIF/scribus/ui/storyeditor.cpp Sun Nov  7 21:02:01 2010
@@ -515,18 +515,15 @@
 	{
 		if (textCursor().hasSelection())
 			textCursor().removeSelectedText();
-		insertChars(styledText);
-#if 0
+
 		++blockContentsChangeHook;
-		QTextCursor c(textCursor());
-		int pos = qMin(c.position(), StyledText.length());
+		QTextCursor cursor(textCursor());
+		int pos = qMin(cursor.position(), StyledText.length());
 		StyledText.insertChars(pos, styledText, true);
-// 		insertPlainText(editText);
-		insertUpdate(pos, editText.length());
-		c.setPosition(pos + editText.length());
-		setTextCursor(c);
+ 		insertPlainText(editText);
+		cursor.setPosition(pos + editText.length());
+		setTextCursor(cursor);
 		--blockContentsChangeHook;
-#endif
 	}
 }
 

Modified: branches/ScribusOIF/scribus/util_formats.cpp
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/util_formats.cpp
==============================================================================
--- branches/ScribusOIF/scribus/util_formats.cpp (original)
+++ branches/ScribusOIF/scribus/util_formats.cpp Sun Nov  7 21:02:01 2010
@@ -21,6 +21,7 @@
 	m_fmts.insert(FormatsManager::JPEG, QStringList() << "jpg" << "jpeg");
 	m_fmts.insert(FormatsManager::PAT,  QStringList() << "pat");
 	m_fmts.insert(FormatsManager::PDF,  QStringList() << "pdf");
+	m_fmts.insert(FormatsManager::PGF,  QStringList() << "pgf");
 	m_fmts.insert(FormatsManager::PNG,  QStringList() << "png");
 	m_fmts.insert(FormatsManager::PS,   QStringList() << "ps");
 	m_fmts.insert(FormatsManager::PSD,  QStringList() << "psd");
@@ -44,6 +45,7 @@
 	m_fmtNames[FormatsManager::JPEG] = QObject::tr("JPEG");
 	m_fmtNames[FormatsManager::PAT]  = QObject::tr("Pattern Files");
 	m_fmtNames[FormatsManager::PDF]  = QObject::tr("PDF Document");
+	m_fmtNames[FormatsManager::PGF]  = QObject::tr("PGF");
 	m_fmtNames[FormatsManager::PNG]  = QObject::tr("PNG");
 	m_fmtNames[FormatsManager::PS]   = QObject::tr("PostScript \"*.ps\"");
 	m_fmtNames[FormatsManager::PSD]  = QObject::tr("Adobe Photoshop \"*.psd\"");
@@ -67,6 +69,7 @@
 	m_fmtMimeTypes.insert(FormatsManager::JPEG, QStringList() << "image/jpeg");
 	m_fmtMimeTypes.insert(FormatsManager::PAT,  QStringList() << "");
 	m_fmtMimeTypes.insert(FormatsManager::PDF,  QStringList() << "application/pdf");
+	m_fmtMimeTypes.insert(FormatsManager::PGF,  QStringList() << "image/pgf");
 	m_fmtMimeTypes.insert(FormatsManager::PNG,  QStringList() << "image/png");
 	m_fmtMimeTypes.insert(FormatsManager::PS,   QStringList() << "application/postscript");
 	m_fmtMimeTypes.insert(FormatsManager::PSD,  QStringList() << "application/photoshop");
@@ -333,6 +336,8 @@
 				ret = "jpg";
 			else if ((buf[0] == '%') && (buf[1] == 'P') && (buf[2] == 'D') && (buf[3] == 'F'))
 				ret = "pdf";
+			else if ((buf[0] == 'P') && (buf[1] == 'G') && (buf[2] == 'F'))
+				ret = "pgf";
 			else if ((buf[0] == '\x89') && (buf[1] == 'P') && (buf[2] == 'N') && (buf[3] == 'G'))
 				ret = "png";
 			else if ((buf[0] == '8') && (buf[1] == 'B') && (buf[2] == 'P') && (buf[3] == 'S'))

Modified: branches/ScribusOIF/scribus/util_formats.h
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/scribus/util_formats.h
==============================================================================
--- branches/ScribusOIF/scribus/util_formats.h (original)
+++ branches/ScribusOIF/scribus/util_formats.h Sun Nov  7 21:02:01 2010
@@ -37,14 +37,14 @@
 
 		enum ScImageFormatType
 		{
-			ALLIMAGES 		= 1|2|4|8|16|32|64|128|256|512|1024|2048|4096|8192|16384|32768|524288,
+			ALLIMAGES 		= 1|2|4|8|16|32|64|128|256|512|1024|2048|4096|8192|16384|32768|524288|1048576,
 #ifdef GMAGICK_FOUND
-			IMAGESIMGFRAME	= 1|2|4|16|32|64|128|256|512|65536,  // all Types suitable for Image Frames
+			IMAGESIMGFRAME	= 1|2|4|16|32|64|128|256|512|65536|1048576,  // all Types suitable for Image Frames
 #else
-			IMAGESIMGFRAME	= 1|2|4|16|32|64|128|256|512|524288,  // all Types suitable for Image Frames
+			IMAGESIMGFRAME	= 1|2|4|16|32|64|128|256|512|524288|1048576,  // all Types suitable for Image Frames
 #endif
 			VECTORIMAGES	= 1|64|1024|2048|16384|32768|131072|262144,  // All pure vector image types
-			RASTORIMAGES	= 2|4|8|32|128|256|512|65536|524288,  // All pure rastor image types
+			RASTORIMAGES	= 2|4|8|32|128|256|512|65536|524288|1048576,  // All pure rastor image types
 			EPS				= 1,      // Encapsulated PostScript
 			GIF				= 2,      // GIF files
 			JPEG			= 4,      // JPEG
@@ -67,6 +67,7 @@
 			UNICONV			= 131072, // UniConvertor
 			PCT				= 262144,  // Mac Pict
 			BMP				= 524288,  // BMP
+			PGF				= 1048576,  // PGF
 		};
 	
 /*

Modified: branches/ScribusOIF/win32/vc8/Scribus.sln
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/win32/vc8/Scribus.sln
==============================================================================
--- branches/ScribusOIF/win32/vc8/Scribus.sln (original)
+++ branches/ScribusOIF/win32/vc8/Scribus.sln Sun Nov  7 21:02:01 2010
@@ -2,6 +2,7 @@
 # Visual C++ Express 2005
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scribus-main", "Scribus.vcproj", "{B17FCD80-7978-4544-93C4-2FE1AC6FE9F3}"
 	ProjectSection(ProjectDependencies) = postProject
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661} = {AAA3586D-6218-4CDB-BDD2-BC0198946661}
 		{50C264A1-2CE7-46A3-8C79-CBC714C49510} = {50C264A1-2CE7-46A3-8C79-CBC714C49510}
 		{D0F51AA4-9D98-4057-94B0-47B46D44DA1D} = {D0F51AA4-9D98-4057-94B0-47B46D44DA1D}
 	EndProjectSection
@@ -236,6 +237,8 @@
 	EndProjectSection
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scribus-harfbuzz", "scribus-harfbuzz\scribus-harbuzz.vcproj", "{D0F51AA4-9D98-4057-94B0-47B46D44DA1D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "scribus-pgf", "scribus-pgf\scribus-pgf.vcproj", "{AAA3586D-6218-4CDB-BDD2-BC0198946661}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -637,6 +640,14 @@
 		{D0F51AA4-9D98-4057-94B0-47B46D44DA1D}.Release-arthur|Win32.Build.0 = Release-arthur|Win32
 		{D0F51AA4-9D98-4057-94B0-47B46D44DA1D}.Release-cairo|Win32.ActiveCfg = Release-cairo|Win32
 		{D0F51AA4-9D98-4057-94B0-47B46D44DA1D}.Release-cairo|Win32.Build.0 = Release-cairo|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Debug-arthur|Win32.ActiveCfg = Debug-arthur|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Debug-arthur|Win32.Build.0 = Debug-arthur|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Debug-cairo|Win32.ActiveCfg = Debug-cairo|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Debug-cairo|Win32.Build.0 = Debug-cairo|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Release-arthur|Win32.ActiveCfg = Release-arthur|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Release-arthur|Win32.Build.0 = Release-arthur|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Release-cairo|Win32.ActiveCfg = Release-cairo|Win32
+		{AAA3586D-6218-4CDB-BDD2-BC0198946661}.Release-cairo|Win32.Build.0 = Release-cairo|Win32
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE

Modified: branches/ScribusOIF/win32/vc8/Scribus.vcproj
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/win32/vc8/Scribus.vcproj
==============================================================================
--- branches/ScribusOIF/win32/vc8/Scribus.vcproj (original)
+++ branches/ScribusOIF/win32/vc8/Scribus.vcproj Sun Nov  7 21:02:01 2010
@@ -84,7 +84,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="QtCored4.lib QtGuid4.lib QtNetworkd4.lib QtXmld4.lib QtWebKitd4.lib freetypeD.lib cairo2d.lib iculed.lib icuucd.lib libjpeg.a libtiff.lib lcms2_staticd.lib mscms.lib PoDoFoLibD.lib WSock32.Lib scribus-harfbuzz.lib scribus-wpg.lib"
+				AdditionalDependencies="QtCored4.lib QtGuid4.lib QtNetworkd4.lib QtXmld4.lib QtWebKitd4.lib freetypeD.lib cairo2d.lib iculed.lib icuucd.lib libjpeg.a libtiff.lib lcms2_staticd.lib mscms.lib PoDoFoLibD.lib WSock32.Lib scribus-harfbuzz.lib scribus-pgf.lib scribus-wpg.lib"
 				OutputFile="$(OutDir)\Scribus.exe"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="&quot;$(QT4_DIR)\lib&quot;;&quot;$(LCMS_DIR)\lib&quot;;&quot;$(FREETYPE_DIR)\lib&quot;;&quot;$(CAIRO_DIR)\lib&quot;;&quot;$(LIBJPEG_DIR)\lib&quot;;&quot;$(LIBTIFF_DIR)\lib&quot;;&quot;$(PODOFO_DIR)\lib&quot;;&quot;$(ICU_DIR)\lib&quot;;&quot;$(OutDir)\.&quot;"
@@ -188,7 +188,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="QtCore4.lib QtGui4.lib QtNetwork4.lib QtXml4.lib QtWebKit4.lib qtmain.lib freetype.lib cairo2.lib icule.lib icuuc.lib libjpeg.a libtiff.lib lcms2_static.lib mscms.lib PoDoFoLib.lib WSock32.Lib scribus-harfbuzz.lib scribus-wpg.lib"
+				AdditionalDependencies="QtCore4.lib QtGui4.lib QtNetwork4.lib QtXml4.lib QtWebKit4.lib qtmain.lib freetype.lib cairo2.lib icule.lib icuuc.lib libjpeg.a libtiff.lib lcms2_static.lib mscms.lib PoDoFoLib.lib WSock32.Lib scribus-harfbuzz.lib scribus-pgf.lib scribus-wpg.lib"
 				OutputFile="$(OutDir)\Scribus.exe"
 				LinkIncremental="1"
 				AdditionalLibraryDirectories="&quot;$(QT4_DIR)\lib&quot;;&quot;$(LCMS_DIR)\lib&quot;;&quot;$(FREETYPE_DIR)\lib&quot;;&quot;$(CAIRO_DIR)\lib&quot;;&quot;$(LIBJPEG_DIR)\lib&quot;;&quot;$(LIBTIFF_DIR)\lib&quot;;&quot;$(PODOFO_DIR)\lib&quot;;&quot;$(ICU_DIR)\lib&quot;;&quot;$(OutDir)\.&quot;"
@@ -292,7 +292,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="QtCored4.lib QtGuid4.lib QtNetworkd4.lib QtXmld4.lib QtWebKitd4.lib freetypeD.lib cairo2d.lib iculed.lib icuucd.lib libjpeg.a libtiff.lib lcms2_staticd.lib mscms.lib PoDoFoLibD.lib WSock32.Lib scribus-harfbuzz.lib scribus-wpg.lib"
+				AdditionalDependencies="QtCored4.lib QtGuid4.lib QtNetworkd4.lib QtXmld4.lib QtWebKitd4.lib freetypeD.lib cairo2d.lib iculed.lib icuucd.lib libjpeg.a libtiff.lib lcms2_staticd.lib mscms.lib PoDoFoLibD.lib WSock32.Lib scribus-harfbuzz.lib scribus-pgf.lib scribus-wpg.lib"
 				OutputFile="$(OutDir)\Scribus.exe"
 				LinkIncremental="2"
 				AdditionalLibraryDirectories="&quot;$(QT4_DIR)\lib&quot;;&quot;$(LCMS_DIR)\lib&quot;;&quot;$(FREETYPE_DIR)\lib&quot;;&quot;$(CAIRO_DIR)\lib&quot;;&quot;$(LIBJPEG_DIR)\lib&quot;;&quot;$(LIBTIFF_DIR)\lib&quot;;&quot;$(PODOFO_DIR)\lib&quot;;&quot;$(ICU_DIR)\lib&quot;;&quot;$(OutDir)\.&quot;"
@@ -396,7 +396,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
-				AdditionalDependencies="QtCore4.lib QtGui4.lib QtNetwork4.lib QtXml4.lib QtWebKit4.lib qtmain.lib freetype.lib cairo2.lib icule.lib icuuc.lib libjpeg.a libtiff.lib lcms2_static.lib mscms.lib PoDoFoLib.lib WSock32.Lib scribus-harfbuzz.lib scribus-wpg.lib"
+				AdditionalDependencies="QtCore4.lib QtGui4.lib QtNetwork4.lib QtXml4.lib QtWebKit4.lib qtmain.lib freetype.lib cairo2.lib icule.lib icuuc.lib libjpeg.a libtiff.lib lcms2_static.lib mscms.lib PoDoFoLib.lib WSock32.Lib scribus-harfbuzz.lib scribus-pgf.lib scribus-wpg.lib"
 				OutputFile="$(OutDir)\Scribus.exe"
 				LinkIncremental="1"
 				AdditionalLibraryDirectories="&quot;$(QT4_DIR)\lib&quot;;&quot;$(LCMS_DIR)\lib&quot;;&quot;$(FREETYPE_DIR)\lib&quot;;&quot;$(CAIRO_DIR)\lib&quot;;&quot;$(LIBJPEG_DIR)\lib&quot;;&quot;$(LIBTIFF_DIR)\lib&quot;;&quot;$(PODOFO_DIR)\lib&quot;;&quot;$(ICU_DIR)\lib&quot;;&quot;$(OutDir)\.&quot;"
@@ -1691,6 +1691,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\scribus\scimgdataloader_pgf.cpp"
+				>
+			</File>
+			<File
 				RelativePath="..\..\scribus\scimgdataloader_pict.cpp"
 				>
 			</File>
@@ -9188,6 +9192,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\scribus\scimgdataloader_pgf.h"
+				>
+			</File>
+			<File
 				RelativePath="..\..\scribus\scimgdataloader_pict.h"
 				>
 			</File>

Modified: branches/ScribusOIF/win32/vc8/wpgimport/wpgimport.vcproj
URL: http://scribus.info/websvn/diff.php?repname=Scribus&rev=15809&path=/branches/ScribusOIF/win32/vc8/wpgimport/wpgimport.vcproj
==============================================================================
--- branches/ScribusOIF/win32/vc8/wpgimport/wpgimport.vcproj (original)
+++ branches/ScribusOIF/win32/vc8/wpgimport/wpgimport.vcproj Sun Nov  7 21:02:01 2010
@@ -30,13 +30,16 @@
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
+				Name="rcc.exe"
+			/>
+			<Tool
+				Name="lrelease.exe"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
 				Name="moc.exe"
-			/>
-			<Tool
-				Name="rcc.exe"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="uic.exe"
@@ -53,7 +56,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..;..\..\..\scribus;..\..\..\scribus\plugins\import\wpg\wpg;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
+				AdditionalIncludeDirectories="..;..\..\..\scribus;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;;HAVE_CAIRO;COMPILE_PLUGIN_AS_DLL;DOCDIR=\&quot;doc/\&quot;;ICONDIR=\&quot;icons/\&quot;;SAMPLESDIR=\&quot;samples/\&quot;;SCRIPTSDIR=\&quot;scripts/\&quot;;TEMPLATEDIR=\&quot;templates/\&quot;;LIBDIR=\&quot;libs/\&quot;;PLUGINDIR=\&quot;plugins/\&quot;;AVOID_WIN32_FILEIO"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -123,13 +126,16 @@
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
+				Name="rcc.exe"
+			/>
+			<Tool
+				Name="lrelease.exe"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
 				Name="moc.exe"
-			/>
-			<Tool
-				Name="rcc.exe"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="uic.exe"
@@ -148,7 +154,7 @@
 				Optimization="1"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..;..\..\..\scribus;..\..\..\scribus\plugins\import\wpg\wpg;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
+				AdditionalIncludeDirectories="..;..\..\..\scribus;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;;HAVE_CAIRO;COMPILE_PLUGIN_AS_DLL;AVOID_WIN32_FILEIO"
 				StringPooling="true"
 				RuntimeLibrary="2"
@@ -220,13 +226,16 @@
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
+				Name="rcc.exe"
+			/>
+			<Tool
+				Name="lrelease.exe"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
 				Name="moc.exe"
-			/>
-			<Tool
-				Name="rcc.exe"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="uic.exe"
@@ -243,7 +252,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="..;..\..\..\scribus;..\..\..\scribus\plugins\import\wpg\wpg;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
+				AdditionalIncludeDirectories="..;..\..\..\scribus;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;COMPILE_PLUGIN_AS_DLL;DOCDIR=\&quot;doc/\&quot;;ICONDIR=\&quot;icons/\&quot;;SAMPLESDIR=\&quot;samples/\&quot;;SCRIPTSDIR=\&quot;scripts/\&quot;;TEMPLATEDIR=\&quot;templates/\&quot;;LIBDIR=\&quot;libs/\&quot;;PLUGINDIR=\&quot;plugins/\&quot;;AVOID_WIN32_FILEIO"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -313,13 +322,16 @@
 				Name="VCPreBuildEventTool"
 			/>
 			<Tool
+				Name="rcc.exe"
+			/>
+			<Tool
+				Name="lrelease.exe"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
 				Name="moc.exe"
-			/>
-			<Tool
-				Name="rcc.exe"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
 			/>
 			<Tool
 				Name="uic.exe"
@@ -338,7 +350,7 @@
 				Optimization="1"
 				InlineFunctionExpansion="1"
 				OmitFramePointers="true"
-				AdditionalIncludeDirectories="..;..\..\..\scribus;..\..\..\scribus\plugins\import\wpg\wpg;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
+				AdditionalIncludeDirectories="..;..\..\..\scribus;&quot;$(QT4_DIR)\include\QtCore&quot;;&quot;$(QT4_DIR)\include\QtGui&quot;;&quot;$(QT4_DIR)\include\QtXml&quot;;&quot;$(QT4_DIR)\include&quot;;&quot;$(QT4_DIR)\src\3rdparty\zlib&quot;;&quot;$(LCMS_DIR)\include&quot;;&quot;$(CAIRO_DIR)\include&quot;;&quot;$(FREETYPE_DIR)\include&quot;;&quot;$(LIBJPEG_DIR)\include&quot;;&quot;$(LIBTIFF_DIR)\include&quot;"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;QT_LARGEFILE_SUPPORT;QT_EDITION=QT_EDITION_DESKTOP;QT_DLL;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;COMPILE_PLUGIN_AS_DLL;AVOID_WIN32_FILEIO"
 				StringPooling="true"
 				RuntimeLibrary="2"




More information about the scribus-commit mailing list