Introduction of Adam Blokus
Adam Blokus
adamblokus at gmail.com
Sat May 17 16:47:51 BST 2008
Hello,
I am a GSoC student committing myself to NetSurf for this summer. My name is
Adam Blokus, I am living and studying in Gdansk, Poland. The name of my
project is " PDF Plotter and printing improvements" and my mentor is joty
(John Tytgat) from the NetSurf developers team. I am writing to introduce
myself to all of you as a person some may want to ask for any pdf
generating/printing features and let you know what kind of requests and
expectations you can direct to me.
I am especially expecting requests like:
- options of the generated pdf files you would like to have under control
- issues of printing web pages you would like to have fixed and features you
would like to have added
- agreeing on how my changes should be added into NetSurf's interface - how
ergonomic some dialogs are, which options should be exposed, which hidden
etc.
>From time to time, I might also make some polls to base my decisions on yo=
ur
opinion.
I am working for you so I am eager to hear some feedback from any of you :)
To get into more detail, below you can read the schedule for my work.
Yours
Adam Blokus
--------------
1. Firstly, I will spend some time preparing a sketch of the structure of
NetSurf's source code after the changes I make. This will include the set of
functions/functionalities that will be exported into a new "output-in-pages"
library and printing system specific functions, the connections between it
and a printing task etc. I will pay much attention to make it as portable
and universal as possible - in case of adding later any other printing
system to NetSurf. This step will be realized during the spring's interim
period by some consultations with my mentor and for the first week of the
Summer of Code when I will ultimately determine what libraries will be used,
how any added dialogs should look like and prepare some design documentation
and,if needed, an updated timeline.
2. After this, separating the printing logic from printing systems should
be done. This will not only allow me to organize work with adding the PDF
and GTK-printing support, but also give a perspective on how this division
will serve later, in case of adding other paged outputs. This stage will
also take only about a week of SoC, since all the necessary designing should
be done by this time.
3. Then I can go on to the main part of this project - implementing the PDF
plotter for NetSurf. As by now I am thinking of using either the cairo libs
or some free library like the Haru PDF Lib (
http://sourceforge.net/projects/libharu/) available with a suiting
license(zlib) and sufficient functionality. I would start with implementing
a basic, unparametrized version to have a basis for testing and iteratively
adding other features/options. This step will also include adding an options
dialog to both GUI's, allowing to define some parameters. I think this might
take about 3-5 weeks, including testing, distributing some beta-versions to
some testers and implementing requested features, fixes etc.
4. After having the PDF plotter done, I will have the paged-output logic
generally ready to use it with other output methods. That's when I will
proceed with adding printing support for the GTK GUI. There are two
approaches to take into consideration - either using the GTK printing system
or directly the CUPS dialog. I have chosen the GTK approach, which will
hardly increase external dependencies and is much more configurable(a short
overview of its features is available in this note :
http://ventnorsblog.blogspot.com/2008/01/print-me-print-me-print-me-man-aft=
er.html).
Adding this feature will take the time needed to write the GtkPrint
API
specific code and test it thoroughly, so up to three weeks.
5. The fifth period of my SoC will be dedicated to adding smaller features
and improvements. I have browsed the source of already implemented printing
for RiscOS and found some hints for it. Starting with removing some
nuisances like improving the handling of elements on the edges of pages I
will go on to enhancing the printing functionality (determining
size/orientation of pages, print preview etc.) and add handling of print
stylesheets. I am also sure, that some ideas or needs will emerge during
coding, so this will be the time to implement selected ones of them. As much
of it as I agree with my mentor and time permits.
6. I want to finish my Summer of Code having fulfilled all of the above
tasks and writing for the last week all the required documentation and an
'adding paged output' how-to for other NetSurf developers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.o=
rg/attachments/20080517/548633e5/attachment.htm
More information about the netsurf-users
mailing list