GSoC 2010 Ideas

=Possible GSoC 2010 projects=

Import/Export Filters

 * XPS export
 * XPS import (using ghostscript or Okular code?)
 * Rewrite/update the ODG/SXD importer
 * PageStream import filter (file format spec is available here)
 * Serif PagePlus PPP import filter (the new XML-based version). No spec available; requires analysis of existing PPP files.
 * Quark QXML import filter. No spec available; requires analysis of existing QXML files.
 * Colour-managed bitmap export

Text

 * CJK support (requires very close collaboration with Scribus developer Andreas Vox who's in charge of the text layout system)
 * Support for RTL scripts (Arabic, Hebrew; requires very close collaboration with Scribus developer Andreas Vox who's in charge of the text layout system)
 * Support for Devanāgarī (requires very close collaboration with Scribus developer Andreas Vox who's in charge of the text layout system)
 * Rewrite the Text Filter (add character styles, fix the dialog for Qt 4 etc.)
 * Rich Text export from the Story Editor (ODT, RTF, Xtags, ICML, IDML, INX).
 * Enable import of all text formats available for text frames, including styles, into the Story Editor.

General

 * Rewrite the template system
 * Speed optimisation (requires experience with code optimisation in general, as well as advanced C++ and Qt knowledge)
 * Prepare Scribus for real resource management with Viaduct.
 * Objectives: a) Prepare the Scribus internals for Viaduct, b) add DTP requirements to Viaduct, c) prepare a pure C++ library of Viaduct.
 * Requirements: Close cooperation with the main author of Viaduct, Inkscape's Jon Cruz.
 * Advantages: A lot of freedom when it comes to implementation, because Viaduct is still in its infancy.
 * Create a "Document Wizard" plugin for standardised business cards, labels etc., like Avery or Pelikan by using OpenOffice.org's template "database" (actually an XML file) and combine it with the templates donated to us by Vector Portal. Instead of a C++ plugin, a student could also implement it using the Scripter (Python).
 * Rewrite the table code and create a table editor (see: RFE 2564)
 * Create an XML-based Master Documents format and prepare the Scribus internals for handling this kind of document (see RFE 2107)
 * Add an indicator for the modifiers (and eventually other specific shortcuts) currently available (like Inkscape does in the status bar; I'd probably prefer a palette which could be disabled)
 * Is this appropriate for a GSoC project? --C schaefer 08:17, 15 February 2010 (CET)
 * Placing vectors (eps, svg) into frames (without converting them to scribus native objects and by using a preview for displaying; just like the experimental embedding feature for placed pdfs) [User:ale|a.l.e]] 08:17, 15 February 2010 (CET)
 * Probably by using external libraries (as currently done with pdf and podofo)