Inline Project Disscussion

Manjeet Chayel manjeet.chayel at
Sun Mar 30 11:56:11 BST 2008

On Sat, Mar 29, 2008 at 8:26 PM, Michael Drake <tlsa at>

> In article <263f02df0803252037h2adfbd82nde60358363d1f8cd at>,
>    Manjeet Chayel <manjeet.chayel at> wrote:
> > Hi
> > I downloaded and built the NetSurf on Fedora 8 after clearing out a few
> > problems with help of rjek and jmb.
> Excellent.
> > 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 have been doing projects in CSS/HTML for past 2 years. I think thats quite
a experience :)

> > 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
>   html_redraw.c)

Have looked throught the code.. understood what the modules do.. how they
interact. the structures used etc.

> 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).

Using Netsurf for browsing. Which gives helps out in determing the behaviour
of netsurf on various scenrios. And developing some test cases to for
current problems..

> 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
>   explicitly.
> > So that I can look into those issues and disover ways to overcome the
> > 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
>  padding present.
> + 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 line
>  between "1" and "st", but it shouldn't, because there is no space in
>  the source.
> + 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.

Learning these problems one by one.. And what could be the possible reason
for such a behavior.

> 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
> clear-cut goals.
> 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
> GTK NetSurf.
> Michael
> --

Great!! A RISC OS box :)

> Michael Drake (tlsa)        

-- =

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the netsurf-dev mailing list