Ideas for a Summer of Code to improve Evince
These are some unrelated ideas that can be used for a Summer of Code to improve Evince.
Support for adding different kind of annotations (we currently only support text annotations right now). The most relevant bug is https://bugzilla.gnome.org/show_bug.cgi?id=168304 but all bugs related to annotations can be found in this link https://bugzilla.gnome.org/buglist.cgi?quicksearch=product%3Aevince+component%3Aannotations
Support for highlighting. This would require to rework the drag-and-drop support on evince to allow for highlighting. Then, we would need to hook this highlighting to the pdf backend to save the highlight as a pdf annotation. Most of the backend work has some preliminary patches, see https://bugs.freedesktop.org/show_bug.cgi?id=51487 for the low-level patches.
- Rework evince UI. The UI of evince has been recently been reworked in Gnome 3.8. As a result, some edges are not very rounded yet. A project that focus on improving the design, specially on some upcoming features like adding annotations (see above).
Improve PDF Form support. There are some long-standing bugs in Evince and popler that need to be fixed to get more decent pdf form support, see https://bugzilla.gnome.org/show_bug.cgi?id=564153 for example.
Support for Multimedia inside a PDF. See https://bugzilla.gnome.org/show_bug.cgi?id=573748 for more discussion including an experimental patch that uses gstreamer to control the multimedia.
- Add javascript support. Many PDF Forms use Javascript. To support Javascript we would need to improve our C coverage for an API equivalent to the PDF JS API. Then, using Seed of Gjs, hook this API to a javascript virtual machine. Some work on the pdf backend would be needed.
A new dual screen presentation mode, see https://bugzilla.gnome.org/show_bug.cgi?id=454731
A new backend for DVI and PostScript files that converts them to PDF and then renders them using the PDF backend https://bugzilla.gnome.org/show_bug.cgi?id=429627
Tile rendering, see https://bugzilla.gnome.org/show_bug.cgi?id=303365 I currently have a wip branch that enables this for single-continuous mode. We need to support other modes and finish the code so it can be merged.