Summer of Code idea: improve khtml zoom function

Fela Winkelmolen nimatar at gmail.com
Fri May 5 14:28:55 BST 2006


here is a draft of the proposal, I'll definitively apply it to google 
tomorrow I think :)


========================== begin ===================================
Summary: Improved zoom function and printing configuration in khtml

Name: Fela Winkelmolen
Email: nimatar at gmail.com (preferred way of contact)
IM: nimatar at jabber.org
IRC: nimatar || unpofuori @ freenode && azzurra
Location: Genoa, Italy.

How much time do you expect to have for this project?
I do have exams in June, but I can easily dedicate 30h/week and more to the 
project until I've finished the exams. And 50h+ afterwards. Apart from the 
exams I don't have anything planned for this summer.

Programming experience:
C++/Qt programming. I wrote this simple program using the Qt toolkit (Qt4):
http://sourceforge.net/projects/cinematika/
I also have some basic knowledge of other languages (C, perl, ruby, php).

What school do you attend? How many years have you attended there? What is 
your specialty/major at the school?
I'm studying Computer Science in a University, I've started studying in 
September, the course length is 3 years (+2 optionally).



Project description:

Often web sites use sizes in pixels for the text, and almost always they do 
so for images. That is why, with high resolution displays becoming more and 
more popular, a good zoom functionality in web browsers becomes essential.
Currently khtml, only zooms the text, not rarely that causes the web pages 
to become ugly, looking differently than they were designed to, or worse, 
they become unreadable because of text overlapping images and similar 
artifacts.

My proposal is to improve khtml's zoom functionality in a way it will zoom 
all objects (images, frames, tables, etc) in the same ratio (in a similar 
way as Opera does).

The idea is to make the renderer be able to zoom in three different ways:
- fast zooming (ugly), possibly using the zooming code that should already 
be somewhere to zoom images where the size is specified in the html code, 
using fast zooming algorithms to scale the images
- smooth zooming (slow), using some other, more sophisticated image zooming 
code (I saw showFoto scales images nicely, for example)
- zoom text only (fastest).

I'll also make the renderer be able to handle borders, paddings, etc. whose 
dimensions are in fractions of pixels (making it able for example to render 
a border of 1px zoomed by 150%).

Additionally, improving the printing configurability, making it al least as 
good as Internet Explorer:
 - make fonts customizable (font size, font face) 
 - make images scalable for printout
 - support following links (level configurable) and print linked documents 
(similar to HP Web Capture)
 - customize frame printing (separately each frame or "as in layout")
 - add an option to "print with 'align=justify'
 - add the possibility to edit a page before printing it, more specifically 
deleting some arbitrary objects.



Why are you well suited to complete this project?
- My inborn mathematical-logical skills are much above average, even among 
geeks I think. I also learn and understand code, computer related thinks, 
etc. very fast. I didn't have any difficulty at all getting the highest 
possible mark at my first 4 exams I've done, nobody else of my class 
managed to do that (we are around 150 people I think).
- I've always wanted to start contributed to KDE. Sadly I kept 
procrastinating it. This would be a really nice opportunity to finally jump 
in. I don't think that once I'm in I would stop contributing anytime soon. 
I like the open source community and the KDE project way to much.
==========================  end  ===================================
-- 
###########################################################################
##################|  Fela Winkelmolen                   |##################
##################|                                     |##################
##################|  e-mail: nimatar at gmail.com          |##################
##################|  jabber: nimatar at jabber.org         |##################
##################|  IRC: nimatar @ azzurra && freenode |##################
##################|  linux user #365125                 |##################
##################|                                     |##################
##################|  http://nimatar.altervista.org      |##################
###########################################################################




More information about the kfm-devel mailing list