In article <263f02df0803252037h2adfbd82nde60358363d1f8cd(a)mail.gmail.com>,
Manjeet Chayel <manjeet.chayel(a)gmail.com> wrote:
I downloaded and built the NetSurf on Fedora 8 after clearing out a
problems with help of rjek and jmb.
After which I read through the layout.ccode and understood how it
works.. the structures, functions used etc.. Now that I have gained
familiarity with the Layout code and line breaking algorithm, I am
positive that I can successfully handle the issues with borders,
margins, padding, backgrounds, css support.
OK, great. You should become familiar with the relevant parts of the
CSS 2.1 specification. Do you have much CSS/HTML experience already?
I would like to know what is expected out of this project.
The project will involve the following:
1. Understanding the HTML layout and display code. (layout.c and
2. Generating test cases for all the problems that NetSurf currently
exhibits. This will involve looking at what the specification says,
testing how NetSurf behaves and also testing how other standards
compliant browsers behave. (E.g. Firefox, Opera & Safari/Konqueror).
3. Updating the code to fix the issues that have been identified.
4. Checking for any regressions brought about by code changes. This will
require quite a good test suite to be created in "2".
5. It would be good to document the layout and line breaking code more
So that I can look into those issues and disover ways to overcome
problems. And it would be great if I am provided with a list of url test
cases to test my code and see to it.. that the issues are solved.. I
have started working on it.
There are already several test cases for inline issues in netsurftest/ in
the SVN repository. Off the top of my head, the main problems we have at
the moment include:
+ Inlines with borders have broken and disjointed borders when there is
also padding present.
+ Vertical alignment is currently unsupported. Normally baselines should
be aligned. We also need subscript and superscript vertical alignment.
Images as well as text need to be vertically aligned.
+ There is some issue with incorrect line heights. I think it has
something to do with font geometry or various font sizes being used. It
can cause lines of text to overlap. John-Mark (jmb) and James (zamez)
know more about this.
+ Background colours for inlines do not fill the full area when there is
+ Background image position is not correctly supported for inlines. Sites
such as Wikipedia place non-repeating images in the right padding of
link text. NetSurf currently places the background image at the left hand
side of the inline, under the text.
+ The white-space property is not supported. At the moment we can't do
no-wrap and stuff.
+ NetSurf's current line breaking goes wrong for situations like:
<span>1<sup>st</sup></span>. NetSurf will currently break the
between "1" and "st", but it shouldn't, because there is no
+ Text that is inside a block, with no inline children around the text,
incorrectly inherit the background colour of the block. I made a test
case for this the other day:
I'll check that into NetSurf's SVN later.
There are more issues which I haven't mentioned. However, fixing the
background colour / image issues and the border problem will make a big
improvement. These often cause NetSurf's display to look untidy and ragged.
Implementing the white-space and vertical-align properties are also very
There are already test cases for some of the issues above in SVN.
I later plan to run the NetSurf on the RPCemu emulator with RISC
OS 3 review the work done.
I would not worry about this. The layout engine is part of the platform
independent core, so it will behave the same on RISC OS as on GTK NetSurf.
There may be a GTK NetSurf specific line height bug, but I wouldn't bother
about that for now.
Also, we plan to get a RISC OS box set up, that GSoC students will be able
to use remotely. This is nearly ready. It will show you what the RISC OS
version's features are (bookmarks, downloads, etc) which aren't present on
Michael Drake (tlsa) http://www.netsurf-browser.org/