Difference between revisions of "Google Summer of Code 2006"

From Inkscape Wiki
Jump to navigation Jump to search
 
(the libPDF must also work with Scribus to extract the library from there)
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page outlines some suggestions for tasks that could be performed for Googles Summer of Code project  
This page outlines some suggestions for tasks that could be performed for Googles Summer of Code project  


==  file import/export code, (pdf, dxf, etc) ==
[[SOC Writing Project Proposals]]
* Implement a complete import/export cycle relying on no external apps (libs are ok if suitably x-platform) for another mainstream vector format.  (ie dxf, pdf, ai...) implementing the import/export as a lib and plugging it in to IS would be prefered.


==  creation of a libpdf from the Scribus code ==
==  File import/export code, (pdf, dxf, etc) ==
* Extract the pdf creation code from Scribus and use it to form a libPDF which we can use. then plug it in. - Kinda linked to the above
* Implement a complete import/export cycle relying on no external apps (libs are ok if suitably x-platform) for another mainstream vector format.  (ie dxf, pdf, ai...) implementing the import/export as a lib and plugging it in to Inkscape would be prefered, or as a pdf2svg type util that can be called.


==  Creation of a libpdf from the Scribus code ==
* Extract the pdf creation code from Scribus and use it to form a libPDF which we can use. then plug it in. - Kinda linked to the above (This means of effectively having a libPDF for both projects. So, this is not replicating the code and having to maintain both, so you must work with Scribus too)


==  convert us to cairo ==
==  Convert renderer to Cairo ==
* Convert the renderer over to cairo. This is a major task.
* Convert the renderer over to [http://cairographics.org/introduction Cairo]. This is a major task.  It may involve working on Cairo in areas where Cairo is not ready.


==  color management ==
==  Color management ==
* Implement a color management system to allow the use of spot colors and color profiles (littleCMS?)
* Implement a color management system to allow the use of spot colors and color profiles ([http://www.littlecms.com/ littleCMS?])


==  break out the canvas to a widget ==
==  Break out the canvas to a widget ==
* Create a GTK SVG canvas widget based off SPCanvas, to allow other projects to easily make use of an SVG canvas.
* Create a GTK SVG canvas widget based off SPCanvas, to allow other projects to easily make use of an SVG canvas.


Line 24: Line 25:
* Use the ability to stream/recieve the changes in a doc to allow a session file to be recorded and played back later.  
* Use the ability to stream/recieve the changes in a doc to allow a session file to be recorded and played back later.  


== Marker editing / style work ==
== Marker editing and styling ==
* implement a ui for the editing of markers
* implement a UI for the editing of markers, ideally on-canvas
* make them inherit their parent objects style
* create a widget for previewing and selecting markers, better than the current menu
* make markers inherit their parent's stroke paint when that is changed (this is not provided by SVG, so we need to do this artificially)


== Diagram tools ==
== Diagram tools ==
* Implement connectors for shapes with automatic line routing.
* Implement connectors for shapes with automatic line routing.
== Text tool ==
* Add support for basic styles in the text (eg: bold, italic, bullet list..., does SVG standard support that?). Maybe some simple HTML parser could be used. It would have a great use when using inkscape as an autoedition tool.

Revision as of 17:55, 9 June 2005

This page outlines some suggestions for tasks that could be performed for Googles Summer of Code project

SOC Writing Project Proposals

File import/export code, (pdf, dxf, etc)

  • Implement a complete import/export cycle relying on no external apps (libs are ok if suitably x-platform) for another mainstream vector format. (ie dxf, pdf, ai...) implementing the import/export as a lib and plugging it in to Inkscape would be prefered, or as a pdf2svg type util that can be called.

Creation of a libpdf from the Scribus code

  • Extract the pdf creation code from Scribus and use it to form a libPDF which we can use. then plug it in. - Kinda linked to the above (This means of effectively having a libPDF for both projects. So, this is not replicating the code and having to maintain both, so you must work with Scribus too)

Convert renderer to Cairo

  • Convert the renderer over to Cairo. This is a major task. It may involve working on Cairo in areas where Cairo is not ready.

Color management

  • Implement a color management system to allow the use of spot colors and color profiles (littleCMS?)

Break out the canvas to a widget

  • Create a GTK SVG canvas widget based off SPCanvas, to allow other projects to easily make use of an SVG canvas.

Create a Clipart Libary interface

  • Create an interface to allow easy insertion of clipart from the open clipart libary (OCAL) into inkscape documents. Allow sorting by categories, search for metadata keyword etc.

Integrate/extend Inkboard

  • Bring the virtual whiteboard functionality of inkboard into the main trunk, and extend it.
  • Use the ability to stream/recieve the changes in a doc to allow a session file to be recorded and played back later.

Marker editing and styling

  • implement a UI for the editing of markers, ideally on-canvas
  • create a widget for previewing and selecting markers, better than the current menu
  • make markers inherit their parent's stroke paint when that is changed (this is not provided by SVG, so we need to do this artificially)

Diagram tools

  • Implement connectors for shapes with automatic line routing.