In article <[EMAIL PROTECTED]>, Manjeet Chayel <[EMAIL PROTECTED]> 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 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) 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 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: http://www.smoothartist.com/netsurf/inline-background.html 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 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 -- Michael Drake (tlsa) http://www.netsurf-browser.org/
