From c0eff0648746adb387b807ed542162e87e557332 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Sat, 30 Aug 2014 18:08:39 +0100 Subject: Update for NetSurf 3.2. --- downloads/amiga/index.en | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'downloads/amiga') diff --git a/downloads/amiga/index.en b/downloads/amiga/index.en index 9b2aa72..7320423 100644 --- a/downloads/amiga/index.en +++ b/downloads/amiga/index.en @@ -63,7 +63,7 @@
-

NetSurf 3.1 source code (2.9MB) 26 Apr 2014

+

NetSurf 3.2 source code (2.9MB) 30 Aug 2014

Build instructions

Build NetSurf for:

    @@ -90,6 +90,13 @@

    Previous releases

    +
    NetSurf 3.1
    +
    + +
    NetSurf 2.9
      -- cgit v1.2.3 From 2a2acc3269e64a327f321b2e042fb03443d01bbd Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Tue, 14 Oct 2014 21:00:11 +0100 Subject: Complete en -> html rename --- contact/index.en | 132 ---- contact/index.html | 132 ++++ developers/contribute.en | 126 --- developers/contribute.html | 126 +++ developers/gsoc/2008ideas.en | 237 ------ developers/gsoc/2008ideas.html | 237 ++++++ developers/gsoc/2009ideas.en | 282 ------- developers/gsoc/2009ideas.html | 282 +++++++ developers/gsoc/2014ideas.en | 173 ---- developers/gsoc/2014ideas.html | 173 ++++ developers/gsoc/index.en | 154 ---- developers/gsoc/index.html | 154 ++++ developers/index.en | 153 ---- developers/index.html | 153 ++++ developers/publicity.en | 103 --- developers/publicity.html | 103 +++ documentation/develop.en | 129 --- documentation/develop.html | 129 +++ documentation/guide.en | 1516 ------------------------------------ documentation/guide.html | 1516 ++++++++++++++++++++++++++++++++++++ documentation/index.en | 205 ----- documentation/index.html | 205 +++++ documentation/info.en | 140 ---- documentation/info.html | 140 ++++ documentation/nstheme.en | 158 ---- documentation/nstheme.html | 158 ++++ documentation/progress.en | 302 ------- documentation/progress.html | 302 +++++++ documentation/resinstall.en | 131 ---- documentation/resinstall.html | 131 ++++ documentation/roinfo.en | 188 ----- documentation/roinfo.html | 188 +++++ documentation/translations.en | 136 ---- documentation/translations.html | 136 ++++ downloads/amiga/index.en | 172 ---- downloads/amiga/index.html | 172 ++++ downloads/atari/index.en | 123 --- downloads/atari/index.html | 123 +++ downloads/beos/index.en | 108 --- downloads/beos/index.html | 108 +++ downloads/extras.en | 82 -- downloads/extras.html | 82 ++ downloads/gtk/index.en | 212 ----- downloads/gtk/index.html | 212 +++++ downloads/index.en | 91 --- downloads/index.html | 91 +++ downloads/macosx/index.en | 131 ---- downloads/macosx/index.html | 131 ++++ downloads/riscos/index.en | 206 ----- downloads/riscos/index.html | 206 +++++ downloads/source/index.en | 113 --- downloads/source/index.html | 113 +++ downloads/themes/index.en | 122 --- downloads/themes/index.html | 122 +++ errors/404.en | 55 -- errors/404.html | 55 ++ projects/hubbub/index.en | 86 -- projects/hubbub/index.html | 86 ++ projects/iconv/index.en | 68 -- projects/iconv/index.html | 68 ++ projects/index.en | 74 -- projects/index.html | 74 ++ projects/libcss/index.en | 174 ----- projects/libcss/index.html | 174 +++++ projects/libdom/index.en | 51 -- projects/libdom/index.html | 51 ++ projects/libnsbmp/index.en | 69 -- projects/libnsbmp/index.html | 69 ++ projects/libnsfb/index.en | 63 -- projects/libnsfb/index.html | 63 ++ projects/libnsgif/index.en | 68 -- projects/libnsgif/index.html | 68 ++ projects/libparserutils/index.en | 91 --- projects/libparserutils/index.html | 91 +++ projects/libpencil/index.en | 47 -- projects/libpencil/index.html | 47 ++ projects/librosprite/index.en | 71 -- projects/librosprite/index.html | 71 ++ projects/libsvgtiny/index.en | 55 -- projects/libsvgtiny/index.html | 55 ++ projects/libwapcaplet/index.en | 61 -- projects/libwapcaplet/index.html | 61 ++ projects/rufl/index.en | 74 -- projects/rufl/index.html | 74 ++ projects/tinct/index.en | 47 -- projects/tinct/index.html | 47 ++ projects/ttf2f/index.en | 69 -- projects/ttf2f/index.html | 69 ++ webmasters/index.en | 95 --- webmasters/index.html | 95 +++ welcome/index.en | 65 -- welcome/index.html | 65 ++ 92 files changed, 7008 insertions(+), 7008 deletions(-) delete mode 100644 contact/index.en create mode 100644 contact/index.html delete mode 100644 developers/contribute.en create mode 100644 developers/contribute.html delete mode 100644 developers/gsoc/2008ideas.en create mode 100644 developers/gsoc/2008ideas.html delete mode 100644 developers/gsoc/2009ideas.en create mode 100644 developers/gsoc/2009ideas.html delete mode 100644 developers/gsoc/2014ideas.en create mode 100644 developers/gsoc/2014ideas.html delete mode 100644 developers/gsoc/index.en create mode 100644 developers/gsoc/index.html delete mode 100644 developers/index.en create mode 100644 developers/index.html delete mode 100644 developers/publicity.en create mode 100644 developers/publicity.html delete mode 100644 documentation/develop.en create mode 100644 documentation/develop.html delete mode 100644 documentation/guide.en create mode 100644 documentation/guide.html delete mode 100644 documentation/index.en create mode 100644 documentation/index.html delete mode 100644 documentation/info.en create mode 100644 documentation/info.html delete mode 100644 documentation/nstheme.en create mode 100644 documentation/nstheme.html delete mode 100644 documentation/progress.en create mode 100644 documentation/progress.html delete mode 100644 documentation/resinstall.en create mode 100644 documentation/resinstall.html delete mode 100644 documentation/roinfo.en create mode 100644 documentation/roinfo.html delete mode 100644 documentation/translations.en create mode 100644 documentation/translations.html delete mode 100644 downloads/amiga/index.en create mode 100644 downloads/amiga/index.html delete mode 100644 downloads/atari/index.en create mode 100644 downloads/atari/index.html delete mode 100644 downloads/beos/index.en create mode 100644 downloads/beos/index.html delete mode 100644 downloads/extras.en create mode 100644 downloads/extras.html delete mode 100644 downloads/gtk/index.en create mode 100644 downloads/gtk/index.html delete mode 100644 downloads/index.en create mode 100644 downloads/index.html delete mode 100644 downloads/macosx/index.en create mode 100644 downloads/macosx/index.html delete mode 100644 downloads/riscos/index.en create mode 100644 downloads/riscos/index.html delete mode 100644 downloads/source/index.en create mode 100644 downloads/source/index.html delete mode 100644 downloads/themes/index.en create mode 100644 downloads/themes/index.html delete mode 100644 errors/404.en create mode 100644 errors/404.html delete mode 100644 projects/hubbub/index.en create mode 100644 projects/hubbub/index.html delete mode 100644 projects/iconv/index.en create mode 100644 projects/iconv/index.html delete mode 100644 projects/index.en create mode 100644 projects/index.html delete mode 100644 projects/libcss/index.en create mode 100644 projects/libcss/index.html delete mode 100644 projects/libdom/index.en create mode 100644 projects/libdom/index.html delete mode 100644 projects/libnsbmp/index.en create mode 100644 projects/libnsbmp/index.html delete mode 100644 projects/libnsfb/index.en create mode 100644 projects/libnsfb/index.html delete mode 100644 projects/libnsgif/index.en create mode 100644 projects/libnsgif/index.html delete mode 100644 projects/libparserutils/index.en create mode 100644 projects/libparserutils/index.html delete mode 100644 projects/libpencil/index.en create mode 100644 projects/libpencil/index.html delete mode 100644 projects/librosprite/index.en create mode 100644 projects/librosprite/index.html delete mode 100644 projects/libsvgtiny/index.en create mode 100644 projects/libsvgtiny/index.html delete mode 100644 projects/libwapcaplet/index.en create mode 100644 projects/libwapcaplet/index.html delete mode 100644 projects/rufl/index.en create mode 100644 projects/rufl/index.html delete mode 100644 projects/tinct/index.en create mode 100644 projects/tinct/index.html delete mode 100644 projects/ttf2f/index.en create mode 100644 projects/ttf2f/index.html delete mode 100644 webmasters/index.en create mode 100644 webmasters/index.html delete mode 100644 welcome/index.en create mode 100644 welcome/index.html (limited to 'downloads/amiga') diff --git a/contact/index.en b/contact/index.en deleted file mode 100644 index 660c239..0000000 --- a/contact/index.en +++ /dev/null @@ -1,132 +0,0 @@ - - - -NetSurf | Contacting the Developers - - - - - - - - - -
      - - - -

      Contacting the Developers

      - - - -

      User support tracker

      - -
      -
      NetSurf Bug Report System
      -
      If you run into problems using NetSurf, please read the guidelines for reporting bugs and submit them to our bug tracker.
      -
      - -

      Mailing lists

      -

      NetSurf has several mailing lists for different purposes. Please subscribe to the ones you're interested in.

      - -

      Users

      - -
      -
      NetSurf Users
      -
      This mailing list is used for general discussion of NetSurf. Subscribe if you wish to use, test or develop NetSurf. Please note that all posts to the mailing list are read and noted by the development team, even if we don't reply.
      -
      - -

      Development

      - -
      -
      NetSurf Development
      -
      This mailing list is intended for developer and contributor discussion.
      -
      NetSurf Commits
      -
      This mailing list is read only, but listed here for completeness. It reports checkin details. (If you want to comment on a post here, send your comment to the NetSurf Dev. list.)
      -
      - -

      IRC channel

      -

      The #netsurf IRC channel on the Freenode network is used for discussion of NetSurf development. Developers are usually around on the IRC channel between 1000 and 0100 UTC.

      - -

      If you're new to IRC, don't ask if you can ask a question – just ask the question! Also, give people a chance to see your question and reply. Developers don't have their eyes glued to their IRC terminal but they'll have it open in the background while they do other things. If you disconnect two minutes after asking something noone may see until after you've gone.

      - -

      If you want to contribute to the NetSurf project, please contact the developers via the development mailing list or on IRC.

      - -

      General e-mail addresses

      -

      There are several general e-mail addresses that can be used to contact team members. Note that use of the mailing lists or support tracker is preferable, since there are more people to reply so you can get a faster response.

      - -
      -
      NetSurf browser
      -
      -
      -
      help@netsurf-browser.org
      -
      For general queries about NetSurf.
      -
      security@netsurf-browser.org
      -
      For reporting any security issues found in NetSurf.
      -
      -
      -
      NetSurf web site
      -
      -
      -
      webmaster@netsurf-browser.org
      -
      For contacting the people who run the NetSurf web site.
      -
      hostmaster@netsurf-browser.org
      -
      For contacting the people who run the server that hosts the NetSurf site.
      -
      -
      -
      - - - - -
      - - -
      - -
      - - - diff --git a/contact/index.html b/contact/index.html new file mode 100644 index 0000000..660c239 --- /dev/null +++ b/contact/index.html @@ -0,0 +1,132 @@ + + + +NetSurf | Contacting the Developers + + + + + + + + + +
      + + + +

      Contacting the Developers

      + + + +

      User support tracker

      + +
      +
      NetSurf Bug Report System
      +
      If you run into problems using NetSurf, please read the guidelines for reporting bugs and submit them to our bug tracker.
      +
      + +

      Mailing lists

      +

      NetSurf has several mailing lists for different purposes. Please subscribe to the ones you're interested in.

      + +

      Users

      + +
      +
      NetSurf Users
      +
      This mailing list is used for general discussion of NetSurf. Subscribe if you wish to use, test or develop NetSurf. Please note that all posts to the mailing list are read and noted by the development team, even if we don't reply.
      +
      + +

      Development

      + +
      +
      NetSurf Development
      +
      This mailing list is intended for developer and contributor discussion.
      +
      NetSurf Commits
      +
      This mailing list is read only, but listed here for completeness. It reports checkin details. (If you want to comment on a post here, send your comment to the NetSurf Dev. list.)
      +
      + +

      IRC channel

      +

      The #netsurf IRC channel on the Freenode network is used for discussion of NetSurf development. Developers are usually around on the IRC channel between 1000 and 0100 UTC.

      + +

      If you're new to IRC, don't ask if you can ask a question – just ask the question! Also, give people a chance to see your question and reply. Developers don't have their eyes glued to their IRC terminal but they'll have it open in the background while they do other things. If you disconnect two minutes after asking something noone may see until after you've gone.

      + +

      If you want to contribute to the NetSurf project, please contact the developers via the development mailing list or on IRC.

      + +

      General e-mail addresses

      +

      There are several general e-mail addresses that can be used to contact team members. Note that use of the mailing lists or support tracker is preferable, since there are more people to reply so you can get a faster response.

      + +
      +
      NetSurf browser
      +
      +
      +
      help@netsurf-browser.org
      +
      For general queries about NetSurf.
      +
      security@netsurf-browser.org
      +
      For reporting any security issues found in NetSurf.
      +
      +
      +
      NetSurf web site
      +
      +
      +
      webmaster@netsurf-browser.org
      +
      For contacting the people who run the NetSurf web site.
      +
      hostmaster@netsurf-browser.org
      +
      For contacting the people who run the server that hosts the NetSurf site.
      +
      +
      +
      + + + + +
      + + +
      + +
      + + + diff --git a/developers/contribute.en b/developers/contribute.en deleted file mode 100644 index 7d7811e..0000000 --- a/developers/contribute.en +++ /dev/null @@ -1,126 +0,0 @@ - - - -NetSurf | Contribution Guide - - - - - - - - - -
      - - - -

      Contribution Guide

      - -

      People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

      - -

      Contributing to NetSurf

      - -

      NetSurf is open for anyone to contribute to. Everyone is very welcome to help! There are all sorts of ways to contribute to the project. For some ideas, see the list below:

      - -
      -
      Publicity
      -
      -

      Help tell people about NetSurf.

      -
        -
      • If you have a web site, you could add a link to the NetSurf page. Such as -
        <a href="http://www.netsurf-browser.org/">NetSurf Web Browser</a>
        -Which appears as: NetSurf Web Browser.
      • -
      • A selection of adverts are available for use in magazines, pamphlets and on web sites. See the publicity page for more information.
      • -
      -
      -
      Provide feedback
      -
      -

      We need to know what you think about NetSurf, if we are to develop a web browser people enjoy using.

      -
        -
      • Report any bugs you find.
      • -
      • Request the features you want.
      • -
      • Discuss your opinions of NetSurf on the mailing list.
      • -
      • Run the bleeding edge version of NetSurf to provide the most helpful feedback to developers.
      • -
      -
      -
      Non-programming contribution
      -
      -

      If you want to contribute to the project directly but are unable to program, there are still many ways for you to help.

      -
        -
      • Translation of NetSurf and the NetSurf web site into other languages.
      • -
      • Creation of new themes.
      • -
      • Help with Templates design.
      • -
      • Help answer peoples questions on the mailing lists, if you know the answer.
      • -
      -
      -
      Programming
      -
      -

      NetSurf's developers have limited time to work on the project. If you are a capable programmer there are all sorts of ways you could help the project.

      -
        -
      • Help with the core of NetSurf: Fetching, Layout, etc.
      • -
      • Help improve the RISC OS user interface.
      • -
      • Help improve the GTK user interface.
      • -
      • Submit patches for bugs.
      • -
      • Submit patches to implement features you want.
      • -
      -
      -
      - -

      If you want to help, get in touch!

      - - - - - -
      - - -
      - -
      - - - diff --git a/developers/contribute.html b/developers/contribute.html new file mode 100644 index 0000000..7d7811e --- /dev/null +++ b/developers/contribute.html @@ -0,0 +1,126 @@ + + + +NetSurf | Contribution Guide + + + + + + + + + +
      + + + +

      Contribution Guide

      + +

      People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

      + +

      Contributing to NetSurf

      + +

      NetSurf is open for anyone to contribute to. Everyone is very welcome to help! There are all sorts of ways to contribute to the project. For some ideas, see the list below:

      + +
      +
      Publicity
      +
      +

      Help tell people about NetSurf.

      +
        +
      • If you have a web site, you could add a link to the NetSurf page. Such as +
        <a href="http://www.netsurf-browser.org/">NetSurf Web Browser</a>
        +Which appears as: NetSurf Web Browser.
      • +
      • A selection of adverts are available for use in magazines, pamphlets and on web sites. See the publicity page for more information.
      • +
      +
      +
      Provide feedback
      +
      +

      We need to know what you think about NetSurf, if we are to develop a web browser people enjoy using.

      +
        +
      • Report any bugs you find.
      • +
      • Request the features you want.
      • +
      • Discuss your opinions of NetSurf on the mailing list.
      • +
      • Run the bleeding edge version of NetSurf to provide the most helpful feedback to developers.
      • +
      +
      +
      Non-programming contribution
      +
      +

      If you want to contribute to the project directly but are unable to program, there are still many ways for you to help.

      +
        +
      • Translation of NetSurf and the NetSurf web site into other languages.
      • +
      • Creation of new themes.
      • +
      • Help with Templates design.
      • +
      • Help answer peoples questions on the mailing lists, if you know the answer.
      • +
      +
      +
      Programming
      +
      +

      NetSurf's developers have limited time to work on the project. If you are a capable programmer there are all sorts of ways you could help the project.

      +
        +
      • Help with the core of NetSurf: Fetching, Layout, etc.
      • +
      • Help improve the RISC OS user interface.
      • +
      • Help improve the GTK user interface.
      • +
      • Submit patches for bugs.
      • +
      • Submit patches to implement features you want.
      • +
      +
      +
      + +

      If you want to help, get in touch!

      + + + + + +
      + + +
      + +
      + + + diff --git a/developers/gsoc/2008ideas.en b/developers/gsoc/2008ideas.en deleted file mode 100644 index b376da6..0000000 --- a/developers/gsoc/2008ideas.en +++ /dev/null @@ -1,237 +0,0 @@ - - - -NetSurf | Google Summer of Code 2008 Ideas - - - - - - - - -
      - - - -

      Google Summer of Code Ideas

      - -

      This page lists our project ideas for Google Summer of Code 2008.

      - -

      Details of our selected students and their projects can be found on our GSoC page.

      - -
      -
      Before applying for a project
      -
      -
        -
      • Join our IRC channel #netsurf on Freenode and introduce yourself. Also, subscribe to the developer mailing list.
      • -
      • Have access to a computer with supported OS (RISC OS, Linux, FreeBSD, etc) or an OS relevant for the project you want to apply for (Windows, Mac OS).
      • -
      • Get up to speed with Git, as we use this for source control, and get the NetSurf source code.
      • -
      • Build NetSurf and enjoy using it. (Ask if you need help.)
      • -
      • Get familiarised with the source code – read the code documentation.
      • -
      -
      -
      When applying for a project
      -
      -
        -
      • Create a set of project milestones (ranging from a couple to maximum 10). This will be useful for you as guidance and for us to set our expectations right.
      • -
      • Include your IRC nick in your application if you've spoken with us on #netsurf, so that we recognise you.
      • -
      -
      -
      During the project
      -
      -
        -
      • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
      • -
      • When improving NetSurf's layout engine, be able to create test cases and verify that existing test cases don't get broken.
      • -
      • Keep NetSurf's project goals in mind, especially the first point.
      • -
      -
      -
      - -

      Please get in touch if any of these ideas appeal to you or if you have your own idea for either NetSurf or one of NetSurf's sub-projects. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

      - -

      All these ideas require knowledge of C, as NetSurf is entirely written in C.

      - -

      See the Feature Requests tracker for more ideas.

      - -

      New CSS parser and selector engine

      -

      NetSurf's current CSS parser and selector engine has several limitations. The existing code could be improved or rewritten. The limitations include:

      -
        -
      • All rules within @media { ... } blocks are ignored.
      • -
      • Handling of invalid CSS does not follow the specification.
      • -
      • CSS specificity and importance issues
      • -
      -

      Improvements here would improve NetSurf's rendering of many web pages, as well as the infamous acid2 test.

      -
      -

      In the long-term, NetSurf will be requiring a DOM StyleSheet and CSS binding. The current CSS parser and selection engine aren't really structured in a manner that permits this to happen. Therefore, this project could take one of two forms:

      -
        -
      • Focus upon and fix the limitations in the current CSS engine
      • -
      • Develop an entirely new CSS engine to replace the existing one
      • -
      -

      There is an outline description of a new CSS engine, which may be of interest to those who want to take the second approach to this project. This description is fairly complete from an external API perspective. The implementation details of a new engine are completely negotiable – we have some idea of what's needed, but the student's input will be highly valued.

      -

      Regardless of which approach is taken, we would expect that testing of the code is performed on a regular basis to ensure that things are still working as expected. New testcases should be written to exercise existing bugs and test out new functionality.

      -
      -

      Skills required: C, CSS, parsing

      -

      Difficulty: Medium

      -

      Existing code: CSS parser and modules, Documentation

      -

      References: CSS 2.1 specification DOM Level 2 Style specification

      - -

      Native Windows or Mac OS X ports

      -

      NetSurf currently has user-interface layers for the RISC OS Window Manager and for GTK (on Linux, FreeBSD, etc.). The GTK interface works on Windows or Mac OS X, but a native interface for these systems would give a better experience.

      -

      Skills required: C, Windows UI development or Mac OS X UI development

      -

      Difficulty: Medium

      -

      Existing code: Declarations of functions that each interface must implement, RISC OS specific code, GTK specific code

      -

      References:

      - -

      Keyboard navigation

      -

      The browser currently requires a mouse to use. Keyboard shortcuts would move between and activate links, inputs, etc. The document structure is stored in a tree, and algorithms for walking through the tree to find the next link or input would need to be developed. A further improvement would be to take layout position into account and implement moving in 2D.

      -

      Skills required: C, HTML, CSS, usability

      -

      Difficulty: Easy

      -

      Existing code: Key press handling, Box tree structures

      -

      References:

      - -

      Printing improvements

      -

      Printing is currently only available on RISC OS, and the output is difficult for the user to predict. Work could include implementing printing for GTK, print preview, intelligent paging or reformatting, support for print stylesheets, and user control over what parts of the page are printed. This might include writing a portable base and platform-specific layer.

      -

      Skills required: C, CSS, GTK, possibly Cairo, possibly Postscript

      -

      Difficulty: Hard

      -

      Existing code: RISC OS printing implementation

      -

      References:

      - -

      PDF plotter

      -

      NetSurf's graphics output is abstracted through "plotters", which are a set of functions that render output to some destination. For example, there are plotters for RISC OS window, GTK window, and DrawFile (a vector graphics format) output. Implementing a PDF plotter would turn NetSurf into a general HTML to PDF conversion tool.

      -
      -

      NetSurf already uses several Open Source libraries (cAres & cURL, IJG JPEG, OpenSSL, libXML2, zlib, etc), so it is likely that an existing PDF write-capable library can be found and used in this project. Firstly, research the possible candidate libraries, based on criteria like: supported programming languages, its platform independence, ease of use, licence and any other possible advantages (like support for writing other vector based file formats, etc). Such research will actually mean writing some test/prototype code using those libraries in order to get familiar with their interfaces.

      -

      It is unlikely that this project will involve developing a PDF writing library from scratch. We won't rule this out for certain, but would require some convincing arguments from you.

      -

      During the evaluation of PDF writing libraries, we expect the student to become familiar with the requirements of the NetSurf plotter interface, figuring out what the issues could be from NetSurf API point view and for the PDF write library candidates. A plan should then be devised to solve these issues.

      -

      After hooking the PDF write library into NetSurf and getting some useful PDF files from web pages, it will be time to come up with a strategy to test your code. As we tend to be lazy, at least sometimes, we won't buy the "Save as..." manual save and view in a PDF viewer approach.

      -

      It could very well be that this project involves working closely together with people assigned for the "Printing improvements" project.

      -

      These project boundaries are not set in stone. We think it is a well defined project but we're happy to hear suggestions from you to enrich the project or redefine certain aspects of it.

      -
      -

      Skills required: C, graphics, PDF

      -

      Difficulty: Medium

      -

      Existing code: Plotter interface, RISC OS plotter, GTK plotter, DrawFile plotter

      -

      References:

      -

      Mentor: John Tytgat

      - -

      Page reader

      -

      The web is a vast resource of information and services. Traditional browsers enable its access for people who can see. NetSurf attempts to help partially sighted users with a sophisticated scaling / zoom feature, however it could be improved further with a page reading option. Speech synthesis could be used to render pages as spoken output.

      -

      There are already several libraries for speech synthesis. This project would first involve enabling NetSurf to speak the textual content of a page. Further work would improve the usability of the system by consideration for such factors as:

      -
        -
      • Overview mode, which announces the document headings
      • -
      • Section skipping to allow swift to access to the next part of the document
      • -
      • Repetition of the current section or skipping back to previous sections
      • -
      • How to differentiate link text from the rest of the text
      • -
      • How to handle emphasis tags; <em> and <strong>
      • -
      -

      Skills required: C, accessibility

      -

      Difficulty: Medium – Hard

      -

      Existing code:

      -

      References: eSpeak text to speech synthesizer

      - -

      Dynamic pseudo classes

      -

      NetSurf currently has no support for CSS dynamic pseudo classes (e.g. :hover). The work would involve adding support for these classes to the CSS parser and selection engine and modifying the layout engine to handle dynamic style changes.

      -

      Skills required: C, HTML, CSS

      -

      Difficulty: Hard

      -

      Existing code: CSS parser, HTML handler and layout engine

      -

      References: CSS 2.1 specification

      - - -

      Abstract RISC OS GUI code into a separate library

      -

      NetSurf's RISC OS user interface is rich and powerful. It supports many features such as editable toolbars, dialogue box handling and menu generation. If the interface code was abstracted into a separate library, other RISC OS applications could benefit from the availability of a sophisticated, tried and tested and style guide compliant GUI toolkit.

      -

      Skills required: C, RISC OS WIMP, OSLib

      -

      Difficulty: Medium – Hard

      -

      Existing code: RISC OS specific code

      -

      References: OSLib

      - -

      Extracting the core into a library

      -

      NetSurf is currently conceptually split in two – the front-end (GUI) and the back-end (core):

      -
        -
      • The GUI is responsible for providing entry points allowing the back end to open and manipulate browser windows, as well as plotting to them.
      • -
      • The core does all fetching, parsing and layout. It also handles user preferences.
      • -
      -

      These two parts are then statically linked together.

      -

      Ideally, the back-end part of the browser would be abstracted to a stand-alone library, which a front-end could provide a table of entry points to. This allows for more than one program to use NetSurf's abilities efficiently, as well as giving us a chance to rationalise and tidy up the current rather ad-hoc API.

      -

      Skills required: C

      -

      Difficulty: Medium – Hard

      -

      Existing code: See "Native Windows or Mac OS X ports" and "PDF plotter". Options code in back-end

      -

      References:

      - -

      Improved inline element handling

      -

      NetSurf's handling of inline elements is particularly incomplete. This task would involve improving the way in which these elements are handled. Particular issues include:

      -
        -
      • Borders, margins, and padding
      • -
      • Backgrounds (colour & image) and background image position
      • -
      • CSS white-space support (wrapping)
      • -
      • Unicode line breaking algorithm
      • -
      -

      Skills required: C, HTML, CSS

      -

      Difficulty: Hard

      -

      Existing code: Layout code, Documentation

      -

      References: CSS 2.1 specification

      - -

      Improved GTK front end; tabs, downloads, etc

      -

      The GTK port, while capable of navigating the web and displaying web pages, lacks may of the features which would make it suitable for every day browsing. There are lots of features that could be added which would improve the user experience. These include:

      -
        -
      • Tabs
      • -
      • Download implementation
      • -
      • Text selection, with copy & paste
      • -
      • Save / export
      • -
      -

      Skills required: C, GTK

      -

      Difficulty: Medium

      -

      Existing code: GTK specific code, Core code for text selection, export, etc

      -

      References:

      - - - -
      - - -
      - -
      - - - diff --git a/developers/gsoc/2008ideas.html b/developers/gsoc/2008ideas.html new file mode 100644 index 0000000..b376da6 --- /dev/null +++ b/developers/gsoc/2008ideas.html @@ -0,0 +1,237 @@ + + + +NetSurf | Google Summer of Code 2008 Ideas + + + + + + + + +
      + + + +

      Google Summer of Code Ideas

      + +

      This page lists our project ideas for Google Summer of Code 2008.

      + +

      Details of our selected students and their projects can be found on our GSoC page.

      + +
      +
      Before applying for a project
      +
      +
        +
      • Join our IRC channel #netsurf on Freenode and introduce yourself. Also, subscribe to the developer mailing list.
      • +
      • Have access to a computer with supported OS (RISC OS, Linux, FreeBSD, etc) or an OS relevant for the project you want to apply for (Windows, Mac OS).
      • +
      • Get up to speed with Git, as we use this for source control, and get the NetSurf source code.
      • +
      • Build NetSurf and enjoy using it. (Ask if you need help.)
      • +
      • Get familiarised with the source code – read the code documentation.
      • +
      +
      +
      When applying for a project
      +
      +
        +
      • Create a set of project milestones (ranging from a couple to maximum 10). This will be useful for you as guidance and for us to set our expectations right.
      • +
      • Include your IRC nick in your application if you've spoken with us on #netsurf, so that we recognise you.
      • +
      +
      +
      During the project
      +
      +
        +
      • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
      • +
      • When improving NetSurf's layout engine, be able to create test cases and verify that existing test cases don't get broken.
      • +
      • Keep NetSurf's project goals in mind, especially the first point.
      • +
      +
      +
      + +

      Please get in touch if any of these ideas appeal to you or if you have your own idea for either NetSurf or one of NetSurf's sub-projects. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

      + +

      All these ideas require knowledge of C, as NetSurf is entirely written in C.

      + +

      See the Feature Requests tracker for more ideas.

      + +

      New CSS parser and selector engine

      +

      NetSurf's current CSS parser and selector engine has several limitations. The existing code could be improved or rewritten. The limitations include:

      +
        +
      • All rules within @media { ... } blocks are ignored.
      • +
      • Handling of invalid CSS does not follow the specification.
      • +
      • CSS specificity and importance issues
      • +
      +

      Improvements here would improve NetSurf's rendering of many web pages, as well as the infamous acid2 test.

      +
      +

      In the long-term, NetSurf will be requiring a DOM StyleSheet and CSS binding. The current CSS parser and selection engine aren't really structured in a manner that permits this to happen. Therefore, this project could take one of two forms:

      +
        +
      • Focus upon and fix the limitations in the current CSS engine
      • +
      • Develop an entirely new CSS engine to replace the existing one
      • +
      +

      There is an outline description of a new CSS engine, which may be of interest to those who want to take the second approach to this project. This description is fairly complete from an external API perspective. The implementation details of a new engine are completely negotiable – we have some idea of what's needed, but the student's input will be highly valued.

      +

      Regardless of which approach is taken, we would expect that testing of the code is performed on a regular basis to ensure that things are still working as expected. New testcases should be written to exercise existing bugs and test out new functionality.

      +
      +

      Skills required: C, CSS, parsing

      +

      Difficulty: Medium

      +

      Existing code: CSS parser and modules, Documentation

      +

      References: CSS 2.1 specification DOM Level 2 Style specification

      + +

      Native Windows or Mac OS X ports

      +

      NetSurf currently has user-interface layers for the RISC OS Window Manager and for GTK (on Linux, FreeBSD, etc.). The GTK interface works on Windows or Mac OS X, but a native interface for these systems would give a better experience.

      +

      Skills required: C, Windows UI development or Mac OS X UI development

      +

      Difficulty: Medium

      +

      Existing code: Declarations of functions that each interface must implement, RISC OS specific code, GTK specific code

      +

      References:

      + +

      Keyboard navigation

      +

      The browser currently requires a mouse to use. Keyboard shortcuts would move between and activate links, inputs, etc. The document structure is stored in a tree, and algorithms for walking through the tree to find the next link or input would need to be developed. A further improvement would be to take layout position into account and implement moving in 2D.

      +

      Skills required: C, HTML, CSS, usability

      +

      Difficulty: Easy

      +

      Existing code: Key press handling, Box tree structures

      +

      References:

      + +

      Printing improvements

      +

      Printing is currently only available on RISC OS, and the output is difficult for the user to predict. Work could include implementing printing for GTK, print preview, intelligent paging or reformatting, support for print stylesheets, and user control over what parts of the page are printed. This might include writing a portable base and platform-specific layer.

      +

      Skills required: C, CSS, GTK, possibly Cairo, possibly Postscript

      +

      Difficulty: Hard

      +

      Existing code: RISC OS printing implementation

      +

      References:

      + +

      PDF plotter

      +

      NetSurf's graphics output is abstracted through "plotters", which are a set of functions that render output to some destination. For example, there are plotters for RISC OS window, GTK window, and DrawFile (a vector graphics format) output. Implementing a PDF plotter would turn NetSurf into a general HTML to PDF conversion tool.

      +
      +

      NetSurf already uses several Open Source libraries (cAres & cURL, IJG JPEG, OpenSSL, libXML2, zlib, etc), so it is likely that an existing PDF write-capable library can be found and used in this project. Firstly, research the possible candidate libraries, based on criteria like: supported programming languages, its platform independence, ease of use, licence and any other possible advantages (like support for writing other vector based file formats, etc). Such research will actually mean writing some test/prototype code using those libraries in order to get familiar with their interfaces.

      +

      It is unlikely that this project will involve developing a PDF writing library from scratch. We won't rule this out for certain, but would require some convincing arguments from you.

      +

      During the evaluation of PDF writing libraries, we expect the student to become familiar with the requirements of the NetSurf plotter interface, figuring out what the issues could be from NetSurf API point view and for the PDF write library candidates. A plan should then be devised to solve these issues.

      +

      After hooking the PDF write library into NetSurf and getting some useful PDF files from web pages, it will be time to come up with a strategy to test your code. As we tend to be lazy, at least sometimes, we won't buy the "Save as..." manual save and view in a PDF viewer approach.

      +

      It could very well be that this project involves working closely together with people assigned for the "Printing improvements" project.

      +

      These project boundaries are not set in stone. We think it is a well defined project but we're happy to hear suggestions from you to enrich the project or redefine certain aspects of it.

      +
      +

      Skills required: C, graphics, PDF

      +

      Difficulty: Medium

      +

      Existing code: Plotter interface, RISC OS plotter, GTK plotter, DrawFile plotter

      +

      References:

      +

      Mentor: John Tytgat

      + +

      Page reader

      +

      The web is a vast resource of information and services. Traditional browsers enable its access for people who can see. NetSurf attempts to help partially sighted users with a sophisticated scaling / zoom feature, however it could be improved further with a page reading option. Speech synthesis could be used to render pages as spoken output.

      +

      There are already several libraries for speech synthesis. This project would first involve enabling NetSurf to speak the textual content of a page. Further work would improve the usability of the system by consideration for such factors as:

      +
        +
      • Overview mode, which announces the document headings
      • +
      • Section skipping to allow swift to access to the next part of the document
      • +
      • Repetition of the current section or skipping back to previous sections
      • +
      • How to differentiate link text from the rest of the text
      • +
      • How to handle emphasis tags; <em> and <strong>
      • +
      +

      Skills required: C, accessibility

      +

      Difficulty: Medium – Hard

      +

      Existing code:

      +

      References: eSpeak text to speech synthesizer

      + +

      Dynamic pseudo classes

      +

      NetSurf currently has no support for CSS dynamic pseudo classes (e.g. :hover). The work would involve adding support for these classes to the CSS parser and selection engine and modifying the layout engine to handle dynamic style changes.

      +

      Skills required: C, HTML, CSS

      +

      Difficulty: Hard

      +

      Existing code: CSS parser, HTML handler and layout engine

      +

      References: CSS 2.1 specification

      + + +

      Abstract RISC OS GUI code into a separate library

      +

      NetSurf's RISC OS user interface is rich and powerful. It supports many features such as editable toolbars, dialogue box handling and menu generation. If the interface code was abstracted into a separate library, other RISC OS applications could benefit from the availability of a sophisticated, tried and tested and style guide compliant GUI toolkit.

      +

      Skills required: C, RISC OS WIMP, OSLib

      +

      Difficulty: Medium – Hard

      +

      Existing code: RISC OS specific code

      +

      References: OSLib

      + +

      Extracting the core into a library

      +

      NetSurf is currently conceptually split in two – the front-end (GUI) and the back-end (core):

      +
        +
      • The GUI is responsible for providing entry points allowing the back end to open and manipulate browser windows, as well as plotting to them.
      • +
      • The core does all fetching, parsing and layout. It also handles user preferences.
      • +
      +

      These two parts are then statically linked together.

      +

      Ideally, the back-end part of the browser would be abstracted to a stand-alone library, which a front-end could provide a table of entry points to. This allows for more than one program to use NetSurf's abilities efficiently, as well as giving us a chance to rationalise and tidy up the current rather ad-hoc API.

      +

      Skills required: C

      +

      Difficulty: Medium – Hard

      +

      Existing code: See "Native Windows or Mac OS X ports" and "PDF plotter". Options code in back-end

      +

      References:

      + +

      Improved inline element handling

      +

      NetSurf's handling of inline elements is particularly incomplete. This task would involve improving the way in which these elements are handled. Particular issues include:

      +
        +
      • Borders, margins, and padding
      • +
      • Backgrounds (colour & image) and background image position
      • +
      • CSS white-space support (wrapping)
      • +
      • Unicode line breaking algorithm
      • +
      +

      Skills required: C, HTML, CSS

      +

      Difficulty: Hard

      +

      Existing code: Layout code, Documentation

      +

      References: CSS 2.1 specification

      + +

      Improved GTK front end; tabs, downloads, etc

      +

      The GTK port, while capable of navigating the web and displaying web pages, lacks may of the features which would make it suitable for every day browsing. There are lots of features that could be added which would improve the user experience. These include:

      +
        +
      • Tabs
      • +
      • Download implementation
      • +
      • Text selection, with copy & paste
      • +
      • Save / export
      • +
      +

      Skills required: C, GTK

      +

      Difficulty: Medium

      +

      Existing code: GTK specific code, Core code for text selection, export, etc

      +

      References:

      + + + +
      + + +
      + +
      + + + diff --git a/developers/gsoc/2009ideas.en b/developers/gsoc/2009ideas.en deleted file mode 100644 index af111a9..0000000 --- a/developers/gsoc/2009ideas.en +++ /dev/null @@ -1,282 +0,0 @@ - - - -NetSurf | Google Summer of Code 2009 Ideas - - - - - - - - -
      - - - -

      Google Summer of Code Ideas

      - -

      This page lists our project ideas for Google Summer of Code 2009.

      - -
      -
      Before applying for a project
      -
      -
        -
      • Join our IRC channel #netsurf on Freenode and introduce yourself. Also, subscribe to the developer mailing list.
      • -
      • Have access to a computer with supported OS (RISC OS, Linux, FreeBSD, BeOS, AmigaOS etc) or an OS relevant for the project you want to apply for (Windows, Mac OS).
      • -
      • Get up to speed with Git, as we use this for source control, and get the NetSurf source code.
      • -
      • Build NetSurf and enjoy using it. (Ask if you need help.)
      • -
      • Get familiarised with the source code – read the code documentation.
      • -
      • Consider submitting a patch to fix an issue on our bug tracker or feature request tracker
      • -
      -
      -
      When applying for a project
      -
      -
        -
      • Tell us about yourself, your experience, and why you want to work with us.
      • -
      • Describe the project you want to do, and how you plan to go about doing it. Do not simply copy the project description from the ideas page.
      • -
      • Create a set of project milestones (ranging from a couple to maximum 10) with expected completion dates. This will be useful for you as guidance and for us to set our expectations right.
      • -
      • Describe how you will test your contributions.
      • -
      • Include your IRC nick in your application if you've spoken with us on #netsurf, so that we recognise you. We strongly recommend that you communicate with us before submitting an application.
      • -
      • We expect GSoC to be mostly equivalent to a full-time job. Therefore, please tell us if you have any other demands on your time.
      • -
      -
      -
      During the project
      -
      -
        -
      • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
      • -
      • When improving NetSurf's layout engine, be able to create test cases and verify that existing test cases don't get broken.
      • -
      • Keep NetSurf's project goals in mind, especially the first point.
      • -
      -
      -
      - -

      There is some more information in the GSoC section of our wiki. Note particularly the student guidelines.

      - -

      Please get in touch if any of these ideas appeal to you or if you have your own idea for either NetSurf or one of NetSurf's sub-projects. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

      - -

      All these ideas require knowledge of C, as NetSurf is entirely written in C.

      - -

      See the Feature Requests tracker for more ideas.

      - -

      Keyboard navigation

      -

      The browser currently requires a mouse to use. Keyboard shortcuts would move between and activate links, inputs, etc. The document structure is stored in a tree, and algorithms for walking through the tree to find the next link or input would need to be developed. A further improvement would be to take layout position into account and implement moving in 2D.

      -

      Skills required: C, HTML, CSS, usability

      -

      Difficulty: Easy

      -

      Existing code: Key press handling, Box tree structures

      -

      References:

      - -

      Page reader

      -

      The web is a vast resource of information and services. Traditional browsers enable its access for people who can see. NetSurf attempts to help partially sighted users with a sophisticated scaling / zoom feature, however it could be improved further with a page reading option. Speech synthesis could be used to render pages as spoken output.

      -

      There are already several libraries for speech synthesis. This project would first involve enabling NetSurf to speak the textual content of a page. Further work would improve the usability of the system by consideration for such factors as:

      -
        -
      • Overview mode, which announces the document headings
      • -
      • Section skipping to allow swift to access to the next part of the document
      • -
      • Repetition of the current section or skipping back to previous sections
      • -
      • How to differentiate link text from the rest of the text
      • -
      • How to handle emphasis tags; <em> and <strong>
      • -
      -

      Skills required: C, accessibility

      -

      Difficulty: Medium – Hard

      -

      Existing code:

      -

      References: eSpeak text to speech synthesizer

      - -

      LibDOM

      -

      LibDOM is an implementation of the W3C DOM. It currently implements a large proportion of DOM Level 3 Core. It is a work in progress and requires a fairly large number of fixes and additions before it can be integrated into NetSurf. Note that the scope of this project is quite large. We expect you to prioritise the parts you intend to implement.

      -
      -

      Things that need doing include:

      -
        -
      • -

        Use vtables rather than known function names + switching on node type

        -

        A vtable is a structure containing function pointers. Each node type will populate the vtable with the appropriate functions. These may then be called by any client without the client needing to know what the node type is.

        -
      • -
      • -

        Implement the rest of DOM 3/2/1/0, primarily:

        -
          -
        • Events
        • -
        • HTML
        • -
        • Other DOM modules
        • -
        -
      • -
      • -

        Test suite

        -

        The W3C provide a test suite for DOM implementations. It is stored in an XML format and currently, has transformations from this format to Java and JavaScript source code. Ideally, a transformation into C source code will be written so that LibDOM may be tested automatically.

        -
      • -
      • -

        Integration with NetSurf

        -
      • -
      -
      -

      Skills required: C, DOM, XSLT (for the test suite)

      -

      Difficulty: Medium – Hard

      -

      Existing code: LibDOM sources

      -

      References: DOM specifications

      - -

      Layout engine improvements

      -

      The layout engine forms part of the core of the browser. It is responsible for calculating the position of each part of the page. It currently has a number of deficiencies which should be addressed. These include the following parts of the CSS specification:

      -
        -
      • Stacking order (z-index)
      • -
      • Fixed position (position: fixed;)
      • -
      • Fixed backgrounds (background-attachment: fixed;)
      • -
      • Vertical alignment (vertical-align)
      • -
      • Handling of white space and wrapping (white-space)
      • -
      -

      There are also other layout issues which could be tackled. For example in table layout some CSS properties, like height, are not handled for table rows.

      -

      Skills required: C, HTML, CSS

      -

      Difficulty: Medium – Hard

      -

      Existing code: layout engine, rendering code

      -

      References: CSS 2.1 specification, CSS 2.1 property index

      - -

      Automated layout test engine

      -

      When NetSurf's layout engine is modified there is a risk that the change may break other pages. When problems are found, we create test cases which demonstrate the problem and keep them as regression tests once the issue is fixed. Currently, it takes quite a lot of manual effort to test NetSurf against all these test pages manually.

      -
      -

      This project will create a tool for automatically testing NetSurf's layout engine for regressions. There are three components that will make up the completed project:

      -
      -
      Minimal test front end
      -
      -

      The first task will be to write the code necessary to call NetSurf's core engine to fetch a page, perform layout on it and dump the page's box tree. The box dump specifies the x/y coordinates, width and height of every box in the render tree, as well as other pertinent information.

      -

      This will involve the implementation of a simple test "front end". Unlike the GTK, RISC OS or BeOS, etc front ends, it is not to be a usable web browser, but a command line tool. The minimal debug and framebuffer front ends can be used as example code.

      -
      -
      A defined test data format
      -
      -

      The existing test data is fine for manual testing. However, for automated testing to work, there needs to be some ground truthed comparison data for each test input. There also needs to be a way of determining which comparison data is associated with which test.

      -

      To ensure that the test front end is working correctly, some amount of test input and comparison data will need to be created. The existing test suite can be used as a starting point for this.

      -
      -
      A test runner
      -
      -

      This can be some kind of script that runs the NetSurf test code for each page in the test suite and compares the box dump NetSurf produces with the expected data. It can output the test name and then PASS or FAIL.

      -
      -
      -
      -

      Skills required: C, HTML, CSS, scripting

      -

      Difficulty: Medium

      -

      Existing code: existing test case repository, box dump code – box_dump() (note that this is extremely verbose and contains much data that is of little use in automated testing), debug front end, framebuffer front end

      -

      References:

      - -

      Core UI enhancements

      -

      So that NetSurf can draw pages on different platforms, there is an interface between the core cross-platform code and the front end UI code that abstracts plotting. This interface is used to plot everything within the browser's content area.

      -

      There are parts of NetSurf's user interface which are common across platforms. However, each platform frontend has to implement these separately. This results in unnecessary duplication of functionality. Therefore, it would be good to move support for some of the common widgets into the core and draw them using the same plotting interface as used for the content area.

      -

      Initially, this will require:

      -
        -
      • A plotter-based treeview for global history, cookie manager and bookmarks.
      • -
      • A plotter-based (single & multi line) text input widget.
      • -
      -

      Further to the above, the way NetSurf's core implements HTML frames is not particularly portable. This could be addressed as an extension.

      -

      Skills required: C, Usability

      -

      Difficulty: Easy – Medium

      -

      Existing code: Core treeview interface, Core treeview code

      -

      References: plotters interface, textarea widget code

      - -

      Native Windows or Mac OS X port

      -

      NetSurf currently has user-interface layers for several systems including RISC OS, GTK (on Linux, FreeBSD, etc.), AmigaOS and BeOS. The GTK interface works on Windows or Mac OS X, but a native interface for these systems would give a better experience.

      -

      The existing front end implementations can be used as examples. Of these, the framebuffer front end is very self contained and the debug front end is the most minimal. For the rendering of NetSurf's content area, a set of plotters needs to be implemented for drawing primitives such as rectangles, plotting bitmaps and text.

      -

      Skills required: C, Windows UI development or Mac OS X UI development

      -

      Difficulty: Medium

      -

      Existing code: Declarations of functions that each interface must implement, plotters interface, RISC OS specific code, GTK specific code, BeOS specific code, AmigaOS specific code, framebuffer specific code

      -

      References:

      - -

      Improved GTK front end

      -

      NetSurf's GTK front end is fairly usable at present, but would benefit from enhancement.

      -

      Outstanding functionality includes:

      -
        -
      • Find
      • -
      • Bookmarks (also see core UI enhancements idea)
      • -
      • Improved contextual right-click menu ("Save image as..." and "Open in new tab..." for example)
      • -
      • GUI should adjust to match GTK interface preferences (icons in menu, text under toolbar buttons, etc.)
      • -
      • File uploads
      • -
      • View source
      • -
      • Documentation (user guide)
      • -
      • Favicons
      • -
      -

      Skills required: C, GTK

      -

      Difficulty: Easy – Medium

      -

      Existing code: GTK specific code

      -

      References:

      - -

      Improved Haiku/BeOS front end

      -

      NetSurf's BeOS frontend is reasonably usable, but would benefit from some enhancement.

      -

      Outstanding functionality includes:

      -
        -
      • Tabs
      • -
      • Download window
      • -
      • Bookmarks, also see core UI enhancements idea
      • -
      • History, also see core UI enhancements idea
      • -
      • Fix <frame> support, also see core UI enhancements idea
      • -
      • Printing
      • -
      • Preferences window
      • -
      -
      -

      Note: Any student interested in working on this front end should apply to both the NetSurf and Haiku organisations. The developer who would mentor this project is also a mentor for the Haiku organisation.

      -
      -

      Skills required: C++, BeOS/Haiku UI toolkits

      -

      Difficulty: Easy – Medium

      -

      Existing code: BeOS specific code

      -

      References: Haiku organisation ideas

      - -

      Improved RISC OS front end

      -

      NetSurf's RISC OS front end is the most feature complete. There are various ways in which it could be improved. These include:

      -
        -
      • Tabs
      • -
      • Better config e.g. web page language choice option
      • -
      • Richer status bar, perhaps progress bar and icons for SSL, and to indicate what it's doing
      • -
      • OLE
      • -
      • Favicons
      • -
      -

      Skills required: C, RISC OS Wimp programming using OSLib

      -

      Difficulty: Medium

      -

      Existing code: RISC OS specific code

      -

      References: OSLib

      - - - -
      - - -
      - -
      - - - diff --git a/developers/gsoc/2009ideas.html b/developers/gsoc/2009ideas.html new file mode 100644 index 0000000..af111a9 --- /dev/null +++ b/developers/gsoc/2009ideas.html @@ -0,0 +1,282 @@ + + + +NetSurf | Google Summer of Code 2009 Ideas + + + + + + + + +
      + + + +

      Google Summer of Code Ideas

      + +

      This page lists our project ideas for Google Summer of Code 2009.

      + +
      +
      Before applying for a project
      +
      +
        +
      • Join our IRC channel #netsurf on Freenode and introduce yourself. Also, subscribe to the developer mailing list.
      • +
      • Have access to a computer with supported OS (RISC OS, Linux, FreeBSD, BeOS, AmigaOS etc) or an OS relevant for the project you want to apply for (Windows, Mac OS).
      • +
      • Get up to speed with Git, as we use this for source control, and get the NetSurf source code.
      • +
      • Build NetSurf and enjoy using it. (Ask if you need help.)
      • +
      • Get familiarised with the source code – read the code documentation.
      • +
      • Consider submitting a patch to fix an issue on our bug tracker or feature request tracker
      • +
      +
      +
      When applying for a project
      +
      +
        +
      • Tell us about yourself, your experience, and why you want to work with us.
      • +
      • Describe the project you want to do, and how you plan to go about doing it. Do not simply copy the project description from the ideas page.
      • +
      • Create a set of project milestones (ranging from a couple to maximum 10) with expected completion dates. This will be useful for you as guidance and for us to set our expectations right.
      • +
      • Describe how you will test your contributions.
      • +
      • Include your IRC nick in your application if you've spoken with us on #netsurf, so that we recognise you. We strongly recommend that you communicate with us before submitting an application.
      • +
      • We expect GSoC to be mostly equivalent to a full-time job. Therefore, please tell us if you have any other demands on your time.
      • +
      +
      +
      During the project
      +
      +
        +
      • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
      • +
      • When improving NetSurf's layout engine, be able to create test cases and verify that existing test cases don't get broken.
      • +
      • Keep NetSurf's project goals in mind, especially the first point.
      • +
      +
      +
      + +

      There is some more information in the GSoC section of our wiki. Note particularly the student guidelines.

      + +

      Please get in touch if any of these ideas appeal to you or if you have your own idea for either NetSurf or one of NetSurf's sub-projects. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

      + +

      All these ideas require knowledge of C, as NetSurf is entirely written in C.

      + +

      See the Feature Requests tracker for more ideas.

      + +

      Keyboard navigation

      +

      The browser currently requires a mouse to use. Keyboard shortcuts would move between and activate links, inputs, etc. The document structure is stored in a tree, and algorithms for walking through the tree to find the next link or input would need to be developed. A further improvement would be to take layout position into account and implement moving in 2D.

      +

      Skills required: C, HTML, CSS, usability

      +

      Difficulty: Easy

      +

      Existing code: Key press handling, Box tree structures

      +

      References:

      + +

      Page reader

      +

      The web is a vast resource of information and services. Traditional browsers enable its access for people who can see. NetSurf attempts to help partially sighted users with a sophisticated scaling / zoom feature, however it could be improved further with a page reading option. Speech synthesis could be used to render pages as spoken output.

      +

      There are already several libraries for speech synthesis. This project would first involve enabling NetSurf to speak the textual content of a page. Further work would improve the usability of the system by consideration for such factors as:

      +
        +
      • Overview mode, which announces the document headings
      • +
      • Section skipping to allow swift to access to the next part of the document
      • +
      • Repetition of the current section or skipping back to previous sections
      • +
      • How to differentiate link text from the rest of the text
      • +
      • How to handle emphasis tags; <em> and <strong>
      • +
      +

      Skills required: C, accessibility

      +

      Difficulty: Medium – Hard

      +

      Existing code:

      +

      References: eSpeak text to speech synthesizer

      + +

      LibDOM

      +

      LibDOM is an implementation of the W3C DOM. It currently implements a large proportion of DOM Level 3 Core. It is a work in progress and requires a fairly large number of fixes and additions before it can be integrated into NetSurf. Note that the scope of this project is quite large. We expect you to prioritise the parts you intend to implement.

      +
      +

      Things that need doing include:

      +
        +
      • +

        Use vtables rather than known function names + switching on node type

        +

        A vtable is a structure containing function pointers. Each node type will populate the vtable with the appropriate functions. These may then be called by any client without the client needing to know what the node type is.

        +
      • +
      • +

        Implement the rest of DOM 3/2/1/0, primarily:

        +
          +
        • Events
        • +
        • HTML
        • +
        • Other DOM modules
        • +
        +
      • +
      • +

        Test suite

        +

        The W3C provide a test suite for DOM implementations. It is stored in an XML format and currently, has transformations from this format to Java and JavaScript source code. Ideally, a transformation into C source code will be written so that LibDOM may be tested automatically.

        +
      • +
      • +

        Integration with NetSurf

        +
      • +
      +
      +

      Skills required: C, DOM, XSLT (for the test suite)

      +

      Difficulty: Medium – Hard

      +

      Existing code: LibDOM sources

      +

      References: DOM specifications

      + +

      Layout engine improvements

      +

      The layout engine forms part of the core of the browser. It is responsible for calculating the position of each part of the page. It currently has a number of deficiencies which should be addressed. These include the following parts of the CSS specification:

      +
        +
      • Stacking order (z-index)
      • +
      • Fixed position (position: fixed;)
      • +
      • Fixed backgrounds (background-attachment: fixed;)
      • +
      • Vertical alignment (vertical-align)
      • +
      • Handling of white space and wrapping (white-space)
      • +
      +

      There are also other layout issues which could be tackled. For example in table layout some CSS properties, like height, are not handled for table rows.

      +

      Skills required: C, HTML, CSS

      +

      Difficulty: Medium – Hard

      +

      Existing code: layout engine, rendering code

      +

      References: CSS 2.1 specification, CSS 2.1 property index

      + +

      Automated layout test engine

      +

      When NetSurf's layout engine is modified there is a risk that the change may break other pages. When problems are found, we create test cases which demonstrate the problem and keep them as regression tests once the issue is fixed. Currently, it takes quite a lot of manual effort to test NetSurf against all these test pages manually.

      +
      +

      This project will create a tool for automatically testing NetSurf's layout engine for regressions. There are three components that will make up the completed project:

      +
      +
      Minimal test front end
      +
      +

      The first task will be to write the code necessary to call NetSurf's core engine to fetch a page, perform layout on it and dump the page's box tree. The box dump specifies the x/y coordinates, width and height of every box in the render tree, as well as other pertinent information.

      +

      This will involve the implementation of a simple test "front end". Unlike the GTK, RISC OS or BeOS, etc front ends, it is not to be a usable web browser, but a command line tool. The minimal debug and framebuffer front ends can be used as example code.

      +
      +
      A defined test data format
      +
      +

      The existing test data is fine for manual testing. However, for automated testing to work, there needs to be some ground truthed comparison data for each test input. There also needs to be a way of determining which comparison data is associated with which test.

      +

      To ensure that the test front end is working correctly, some amount of test input and comparison data will need to be created. The existing test suite can be used as a starting point for this.

      +
      +
      A test runner
      +
      +

      This can be some kind of script that runs the NetSurf test code for each page in the test suite and compares the box dump NetSurf produces with the expected data. It can output the test name and then PASS or FAIL.

      +
      +
      +
      +

      Skills required: C, HTML, CSS, scripting

      +

      Difficulty: Medium

      +

      Existing code: existing test case repository, box dump code – box_dump() (note that this is extremely verbose and contains much data that is of little use in automated testing), debug front end, framebuffer front end

      +

      References:

      + +

      Core UI enhancements

      +

      So that NetSurf can draw pages on different platforms, there is an interface between the core cross-platform code and the front end UI code that abstracts plotting. This interface is used to plot everything within the browser's content area.

      +

      There are parts of NetSurf's user interface which are common across platforms. However, each platform frontend has to implement these separately. This results in unnecessary duplication of functionality. Therefore, it would be good to move support for some of the common widgets into the core and draw them using the same plotting interface as used for the content area.

      +

      Initially, this will require:

      +
        +
      • A plotter-based treeview for global history, cookie manager and bookmarks.
      • +
      • A plotter-based (single & multi line) text input widget.
      • +
      +

      Further to the above, the way NetSurf's core implements HTML frames is not particularly portable. This could be addressed as an extension.

      +

      Skills required: C, Usability

      +

      Difficulty: Easy – Medium

      +

      Existing code: Core treeview interface, Core treeview code

      +

      References: plotters interface, textarea widget code

      + +

      Native Windows or Mac OS X port

      +

      NetSurf currently has user-interface layers for several systems including RISC OS, GTK (on Linux, FreeBSD, etc.), AmigaOS and BeOS. The GTK interface works on Windows or Mac OS X, but a native interface for these systems would give a better experience.

      +

      The existing front end implementations can be used as examples. Of these, the framebuffer front end is very self contained and the debug front end is the most minimal. For the rendering of NetSurf's content area, a set of plotters needs to be implemented for drawing primitives such as rectangles, plotting bitmaps and text.

      +

      Skills required: C, Windows UI development or Mac OS X UI development

      +

      Difficulty: Medium

      +

      Existing code: Declarations of functions that each interface must implement, plotters interface, RISC OS specific code, GTK specific code, BeOS specific code, AmigaOS specific code, framebuffer specific code

      +

      References:

      + +

      Improved GTK front end

      +

      NetSurf's GTK front end is fairly usable at present, but would benefit from enhancement.

      +

      Outstanding functionality includes:

      +
        +
      • Find
      • +
      • Bookmarks (also see core UI enhancements idea)
      • +
      • Improved contextual right-click menu ("Save image as..." and "Open in new tab..." for example)
      • +
      • GUI should adjust to match GTK interface preferences (icons in menu, text under toolbar buttons, etc.)
      • +
      • File uploads
      • +
      • View source
      • +
      • Documentation (user guide)
      • +
      • Favicons
      • +
      +

      Skills required: C, GTK

      +

      Difficulty: Easy – Medium

      +

      Existing code: GTK specific code

      +

      References:

      + +

      Improved Haiku/BeOS front end

      +

      NetSurf's BeOS frontend is reasonably usable, but would benefit from some enhancement.

      +

      Outstanding functionality includes:

      +
        +
      • Tabs
      • +
      • Download window
      • +
      • Bookmarks, also see core UI enhancements idea
      • +
      • History, also see core UI enhancements idea
      • +
      • Fix <frame> support, also see core UI enhancements idea
      • +
      • Printing
      • +
      • Preferences window
      • +
      +
      +

      Note: Any student interested in working on this front end should apply to both the NetSurf and Haiku organisations. The developer who would mentor this project is also a mentor for the Haiku organisation.

      +
      +

      Skills required: C++, BeOS/Haiku UI toolkits

      +

      Difficulty: Easy – Medium

      +

      Existing code: BeOS specific code

      +

      References: Haiku organisation ideas

      + +

      Improved RISC OS front end

      +

      NetSurf's RISC OS front end is the most feature complete. There are various ways in which it could be improved. These include:

      +
        +
      • Tabs
      • +
      • Better config e.g. web page language choice option
      • +
      • Richer status bar, perhaps progress bar and icons for SSL, and to indicate what it's doing
      • +
      • OLE
      • +
      • Favicons
      • +
      +

      Skills required: C, RISC OS Wimp programming using OSLib

      +

      Difficulty: Medium

      +

      Existing code: RISC OS specific code

      +

      References: OSLib

      + + + +
      + + +
      + +
      + + + diff --git a/developers/gsoc/2014ideas.en b/developers/gsoc/2014ideas.en deleted file mode 100644 index 6c00640..0000000 --- a/developers/gsoc/2014ideas.en +++ /dev/null @@ -1,173 +0,0 @@ - - - -NetSurf | Google Summer of Code 2014 Ideas - - - - - - - - -
      - - - -

      Google Summer of Code Ideas

      - -

      This page lists our project ideas for Google Summer of Code 2014.

      - -
      -
      Before applying for a project
      -
      - -
      -
      When applying for a project
      -
      -
        -
      • Include your IRC nick in your application, so that we recognise you. We strongly recommend that you communicate with us on #netsurf before submitting an application.
      • -
      • Tell us about yourself, your experience, and why you want to work with us.
      • -
      • Describe the project you want to do, and how you plan to go about doing it. Do not simply copy the project description from the ideas page.
      • -
      • Create a set of project milestones (ranging from a couple to maximum 10) with expected completion dates. This will be useful for you as guidance and for us to set our expectations right.
      • -
      • Describe how you will test your contributions.
      • -
      • We expect GSoC to be mostly equivalent to a full-time job. Therefore, please tell us if you have any other demands on your time.
      • -
      -
      -
      During the project
      -
      -
        -
      • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
      • -
      • Keep NetSurf's project goals in mind, especially the first point.
      • -
      -
      -
      - -

      There is some more information in the GSoC section of our wiki. Note particularly the student guidelines.

      - -

      Please get in touch our project idea appeals to you or if you have your own idea for either NetSurf or one of NetSurf's libraries. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

      - -

      Update Core Web Technology Libraries

      -

      This is a project to improve and add features to the NetSurf project's core web-technology libraries. These libraries are MIT licenced and are available to, and used by, other projects. The libraries in question are:

      -
        -
      • LibCSS – CSS Parser and Selection Engine
      • -
      • LibDOM – Document Object Model library
      • -
      • LibHubbub – HTML5 Parsing library
      • -
      -

      Note that this is a single project, and both phases are part of it.

      -

      Project Outline

      -

      Phase 1

      -
      -
      LibDOM: Implement missing specialisations of HTMLElement
      -
      -

      HTMLElement is the base class for representing HTML elements in the DOM. It contains the common data which applies to all HTML elements. Most elements, however, contain additional data or have specialised data processing requirements (for example, a Form element has an action attribute). These elements are represented in the DOM by specialised subclasses of HTMLElement.

      -

      In the LibDOM implementation, many of these specialised subclasses have not been implemented. This means that many elements are still represented by the base HTMLElement class and the specialised data and behaviours are not available.

      -

      The task in this phase, then, is to identify the missing/unimplemented HTMLElement specialisations in the LibDOM source tree, and provide implementations for them. The DOM Level2 specification defines the expected attributes and behaviours of the HTMLElement subclasses and should be used as a reference for the implementation.

      -

      We consider this task to be fairly easy to complete. The number of missing specialisations is quite large, so do not be surprised if it takes longer than expected! We do not expect this phase to fill an entire summer, however.

      -

      Expected outcome: a complete implementation of the HTMLElement DOM classes, which enable the HTMLElement tests in the LibDOM testsuite to pass.

      -
      -

      Existing code: libdom/src/html.
      Specification: Level 2 Document Object Model HTML, DOM Standard

      -
    -
    -

    Phase 2

    -

    Either one of the following options. We expect the decision on the direction of this phase to be made by the student and mentors, depending upon the interests of the student, the ability demonstrated in completing Phase 1, and the time remaining. We do not anticipate that there will be time for a student to complete both items listed here, but the work is there if a gifted student makes good progress.

    -
    -
    LibHubbub: Update to match current specification
    -
    -

    LibHubbub is the NetSurf project's HTML parser. It is designed to implement the HTML5 parsing algorithm.

    -

    The current implementation of LibHubbub, however, is out-of-date with respect to the specification. This means that the DOM tree produced by parsing an HTML document using LibHubbub is not equivalent to that produced by a fully-conformant HTML5 parser.

    -

    This task involves identifying the differences between the behaviour implemented in LibHubbub and the expected behaviour defined by the specification. Once these differences have been identified, the implementation in LibHubbub should be brought in line with the specification.

    -

    We expect this task to require a great deal of attention to detail. The initial stage of identifying the places where LibHubbub's implementation does not match the specification is crucial to the success of this task.

    -

    Expected outcome: a detailed summary of the deficiencies in the LibHubbub implementation and a decent amount of progress towards rectifying them, with passing tests in the testsuite.

    -

    Existing code: libhubbub/src
    Specification: HTML5 Parsing

    -
    -
    LibCSS: add support for CSS 3 properties
    -
    -

    LibCSS is the NetSurf project's CSS parser and style selection engine. It currently has support for parsing and selecting:

    -
      -
    • CSS 2.1
    • -
    • CSS 3 Namespaces
    • -
    • CSS 3 Selectors
    • -
    • CSS 3 Color
    • -
    • CSS 3 Multi-column Layout (parsing only)
    • -
    • CSS 3 Writing Modes (writing-mode property only)
    • -
    -

    This task involves adding support for parsing and selecting properties defined in other CSS 3 module specifications. As CSS 3 is comprised of a very broad suite of components, the precise selection of which modules to target will be decided as part of the task definition with the student.

    -

    Expected outcome: a decision about which CSS 3 component modules to implement; an implementation of the relevant property parsing and selection rules, along with passing test cases for the LibCSS testsuite.

    -

    Existing code: libcss/src
    Specification: CSS Specs

    - -
    -

    Skills required: Experience of the C programming language
    Skills desirable: HTML, DOM, CSS - -

    Mentors

    - -

    For mentors we have five of NetSurf's core developers:

    - -
      -
    • John-Mark Bell
    • -
    • Michael Drake
    • -
    • Rob Kendrick
    • -
    • Vincent Sanders
    • -
    • Daniel Silverstone
    • -
    - - - -
- - -
- -
- - - diff --git a/developers/gsoc/2014ideas.html b/developers/gsoc/2014ideas.html new file mode 100644 index 0000000..6c00640 --- /dev/null +++ b/developers/gsoc/2014ideas.html @@ -0,0 +1,173 @@ + + + +NetSurf | Google Summer of Code 2014 Ideas + + + + + + + + +
+ + + +

Google Summer of Code Ideas

+ +

This page lists our project ideas for Google Summer of Code 2014.

+ +
+
Before applying for a project
+
+ +
+
When applying for a project
+
+
    +
  • Include your IRC nick in your application, so that we recognise you. We strongly recommend that you communicate with us on #netsurf before submitting an application.
  • +
  • Tell us about yourself, your experience, and why you want to work with us.
  • +
  • Describe the project you want to do, and how you plan to go about doing it. Do not simply copy the project description from the ideas page.
  • +
  • Create a set of project milestones (ranging from a couple to maximum 10) with expected completion dates. This will be useful for you as guidance and for us to set our expectations right.
  • +
  • Describe how you will test your contributions.
  • +
  • We expect GSoC to be mostly equivalent to a full-time job. Therefore, please tell us if you have any other demands on your time.
  • +
+
+
During the project
+
+
    +
  • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
  • +
  • Keep NetSurf's project goals in mind, especially the first point.
  • +
+
+
+ +

There is some more information in the GSoC section of our wiki. Note particularly the student guidelines.

+ +

Please get in touch our project idea appeals to you or if you have your own idea for either NetSurf or one of NetSurf's libraries. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

+ +

Update Core Web Technology Libraries

+

This is a project to improve and add features to the NetSurf project's core web-technology libraries. These libraries are MIT licenced and are available to, and used by, other projects. The libraries in question are:

+
    +
  • LibCSS – CSS Parser and Selection Engine
  • +
  • LibDOM – Document Object Model library
  • +
  • LibHubbub – HTML5 Parsing library
  • +
+

Note that this is a single project, and both phases are part of it.

+

Project Outline

+

Phase 1

+
+
LibDOM: Implement missing specialisations of HTMLElement
+
+

HTMLElement is the base class for representing HTML elements in the DOM. It contains the common data which applies to all HTML elements. Most elements, however, contain additional data or have specialised data processing requirements (for example, a Form element has an action attribute). These elements are represented in the DOM by specialised subclasses of HTMLElement.

+

In the LibDOM implementation, many of these specialised subclasses have not been implemented. This means that many elements are still represented by the base HTMLElement class and the specialised data and behaviours are not available.

+

The task in this phase, then, is to identify the missing/unimplemented HTMLElement specialisations in the LibDOM source tree, and provide implementations for them. The DOM Level2 specification defines the expected attributes and behaviours of the HTMLElement subclasses and should be used as a reference for the implementation.

+

We consider this task to be fairly easy to complete. The number of missing specialisations is quite large, so do not be surprised if it takes longer than expected! We do not expect this phase to fill an entire summer, however.

+

Expected outcome: a complete implementation of the HTMLElement DOM classes, which enable the HTMLElement tests in the LibDOM testsuite to pass.

+
+

Existing code: libdom/src/html.
Specification: Level 2 Document Object Model HTML, DOM Standard

+ +
+

Phase 2

+

Either one of the following options. We expect the decision on the direction of this phase to be made by the student and mentors, depending upon the interests of the student, the ability demonstrated in completing Phase 1, and the time remaining. We do not anticipate that there will be time for a student to complete both items listed here, but the work is there if a gifted student makes good progress.

+
+
LibHubbub: Update to match current specification
+
+

LibHubbub is the NetSurf project's HTML parser. It is designed to implement the HTML5 parsing algorithm.

+

The current implementation of LibHubbub, however, is out-of-date with respect to the specification. This means that the DOM tree produced by parsing an HTML document using LibHubbub is not equivalent to that produced by a fully-conformant HTML5 parser.

+

This task involves identifying the differences between the behaviour implemented in LibHubbub and the expected behaviour defined by the specification. Once these differences have been identified, the implementation in LibHubbub should be brought in line with the specification.

+

We expect this task to require a great deal of attention to detail. The initial stage of identifying the places where LibHubbub's implementation does not match the specification is crucial to the success of this task.

+

Expected outcome: a detailed summary of the deficiencies in the LibHubbub implementation and a decent amount of progress towards rectifying them, with passing tests in the testsuite.

+

Existing code: libhubbub/src
Specification: HTML5 Parsing

+
+
LibCSS: add support for CSS 3 properties
+
+

LibCSS is the NetSurf project's CSS parser and style selection engine. It currently has support for parsing and selecting:

+
    +
  • CSS 2.1
  • +
  • CSS 3 Namespaces
  • +
  • CSS 3 Selectors
  • +
  • CSS 3 Color
  • +
  • CSS 3 Multi-column Layout (parsing only)
  • +
  • CSS 3 Writing Modes (writing-mode property only)
  • +
+

This task involves adding support for parsing and selecting properties defined in other CSS 3 module specifications. As CSS 3 is comprised of a very broad suite of components, the precise selection of which modules to target will be decided as part of the task definition with the student.

+

Expected outcome: a decision about which CSS 3 component modules to implement; an implementation of the relevant property parsing and selection rules, along with passing test cases for the LibCSS testsuite.

+

Existing code: libcss/src
Specification: CSS Specs

+ +
+

Skills required: Experience of the C programming language
Skills desirable: HTML, DOM, CSS + +

Mentors

+ +

For mentors we have five of NetSurf's core developers:

+ +
    +
  • John-Mark Bell
  • +
  • Michael Drake
  • +
  • Rob Kendrick
  • +
  • Vincent Sanders
  • +
  • Daniel Silverstone
  • +
+ + + +
+ + +
+ +
+ + + diff --git a/developers/gsoc/index.en b/developers/gsoc/index.en deleted file mode 100644 index 76725aa..0000000 --- a/developers/gsoc/index.en +++ /dev/null @@ -1,154 +0,0 @@ - - - -NetSurf | Google Summer of Code - - - - - - - - -
- - - -

Google Summer of Code

- -

Google Summer of Code 2014

- -

The NetSurf project has been accepted as a mentoring organisation for GSoC 2014. Any eligible students are encouraged to talk with us on IRC before submitting their application. Please have a look at our ideas list for details of the project we are proposing.

- -

Our previous involvement with Google Summer of Code is summarised here.

- -

Google Summer of Code 2009

- -

The NetSurf project was selected to participate in Google Summer of Code 2009 as a mentoring organisation. This year we are mentoring three students.

- -
-
Bo Yang
-
-
    -
  • Project: Add DOM support to NetSurf
  • -
  • Mentor: John-Mark Bell (jmb)
  • -
  • Details: Abstract
  • -
-
-
Paul Blokus
-
-
    -
  • Project: Core UI enhancements and keyboard navigation
  • -
  • Mentor: Michael Drake (tlsa)
  • -
  • Details: Abstract
  • -
-
-
Mark Benjamin
-
-
    -
  • Project: NetSurf GTK+ interface improvements
  • -
  • Mentor: Rob Kendrick (rjek)
  • -
  • Details: Abstract
  • -
-
-
- -

Our project ideas page for Google Summer of Code 2009 is still available.

- -

We ask students to keep NetSurf's project goals in mind, especially the first point. We also ask them to communicate with the developers as much as possible. More information for students is available on the development wiki.

- -

Google Summer of Code 2008

- -

NetSurf participated as a mentoring organisation in Google Summer of Code 2008. We ran four projects which are listed below.

- -
-
Adam Blokus
-
-
    -
  • Project: PDF Plotter and printing improvements
  • -
  • Mentor: John Tytgat (joty)
  • -
  • Details: Abstract, Introduction
  • -
-
-
Sean Fox
-
-
    -
  • Project: Abstract the Core Functionality to Stand-alone Libraries
  • -
  • Mentor: James Bursa (zamez)
  • -
  • Details: Abstract
  • -
-
-
Michael Lester
-
- -
-
Andrew Sidwell
-
-
    -
  • Project: Work on and integrate Hubbub
  • -
  • Mentor: John-Mark Bell (jmb)
  • -
  • Details: Abstract, Introduction
  • -
-
-
- -

Our 2008 GSoC ideas page is still available.

- - - - -
- - -
- -
- - - diff --git a/developers/gsoc/index.html b/developers/gsoc/index.html new file mode 100644 index 0000000..76725aa --- /dev/null +++ b/developers/gsoc/index.html @@ -0,0 +1,154 @@ + + + +NetSurf | Google Summer of Code + + + + + + + + +
+ + + +

Google Summer of Code

+ +

Google Summer of Code 2014

+ +

The NetSurf project has been accepted as a mentoring organisation for GSoC 2014. Any eligible students are encouraged to talk with us on IRC before submitting their application. Please have a look at our ideas list for details of the project we are proposing.

+ +

Our previous involvement with Google Summer of Code is summarised here.

+ +

Google Summer of Code 2009

+ +

The NetSurf project was selected to participate in Google Summer of Code 2009 as a mentoring organisation. This year we are mentoring three students.

+ +
+
Bo Yang
+
+
    +
  • Project: Add DOM support to NetSurf
  • +
  • Mentor: John-Mark Bell (jmb)
  • +
  • Details: Abstract
  • +
+
+
Paul Blokus
+
+
    +
  • Project: Core UI enhancements and keyboard navigation
  • +
  • Mentor: Michael Drake (tlsa)
  • +
  • Details: Abstract
  • +
+
+
Mark Benjamin
+
+
    +
  • Project: NetSurf GTK+ interface improvements
  • +
  • Mentor: Rob Kendrick (rjek)
  • +
  • Details: Abstract
  • +
+
+
+ +

Our project ideas page for Google Summer of Code 2009 is still available.

+ +

We ask students to keep NetSurf's project goals in mind, especially the first point. We also ask them to communicate with the developers as much as possible. More information for students is available on the development wiki.

+ +

Google Summer of Code 2008

+ +

NetSurf participated as a mentoring organisation in Google Summer of Code 2008. We ran four projects which are listed below.

+ +
+
Adam Blokus
+
+
    +
  • Project: PDF Plotter and printing improvements
  • +
  • Mentor: John Tytgat (joty)
  • +
  • Details: Abstract, Introduction
  • +
+
+
Sean Fox
+
+
    +
  • Project: Abstract the Core Functionality to Stand-alone Libraries
  • +
  • Mentor: James Bursa (zamez)
  • +
  • Details: Abstract
  • +
+
+
Michael Lester
+
+ +
+
Andrew Sidwell
+
+
    +
  • Project: Work on and integrate Hubbub
  • +
  • Mentor: John-Mark Bell (jmb)
  • +
  • Details: Abstract, Introduction
  • +
+
+
+ +

Our 2008 GSoC ideas page is still available.

+ + + + +
+ + +
+ +
+ + + diff --git a/developers/index.en b/developers/index.en deleted file mode 100644 index 6b6f0f5..0000000 --- a/developers/index.en +++ /dev/null @@ -1,153 +0,0 @@ - - - -NetSurf | Developers and Contributors - - - - - - - - - -
- - - -

Developer and Contributor Area

- -

People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

- -
- -

Contributing to NetSurf

- -

Everyone is very welcome to help NetSurf! There are all sorts of ways to contribute to the project.

- -
-
Publicity
-
Help spread the word! NetSurf needs user, contributor and developer participation to stay vibrant.
-
Provide feedback
-
If you'd like to be involved in the future direction of NetSurf's development you can help by making feature requests and bug reports. Discussion of what you like and dislike about NetSurf is useful to the developers.
-
Non-programming contribution
-
If you'd like to contribute directly to the project but can't program, there are still many ways for you to participate. Details in the contribution guide.
-
Programming
-
If you can program then you are welcome to join the developers! If there's some aspect you'd like to improve, or feature you'd like to implement, contact us via the developer mailing list or on IRC and go from there. Also, see the instructions for submitting patches.
-
- -

Take a look at the contribution guide for more ideas and information.

- -

Run bleeding edge NetSurf

- -

The most important way though which NetSurf users can contribute to the NetSurf project is by regularly testing the current development builds and providing feedback.

- -

RISC OS users can download a precompiled test build, which can be installed and run in exactly the same way as NetSurf releases. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.

- -

Once running the latest build you can browse the web as normal and let us know if you run into problems. Does the browser crash? Can you reproduce the crash? Did it crash at a specific site? What was the URL? Do you like the new features of the development build? How could NetSurf's interface be improved? These and more are the sorts of questions we're interested in your answers to. Our goal is to make NetSurf a piece of software everyone loves to use, and to do that we need your input!

- -

The NetSurf documentation contains guidelines for making feature requests and reporting bugs.

- -

Submitting patches

- -

If you've developed a patch for NetSurf you can send it to us by either:

- -
    -
  1. Putting it on the patch tracker.
  2. -
  3. Posting to the NetSurf Development mailing list and attaching the patch.
  4. -
  5. Giving the patch to one of the developers in the NetSurf IRC channel.
  6. -
- -

If it is a tiny patch, the third option is best. Otherwise use the first or second.

- -

Our pictorial Style Guide (single-page PDF) shows our code style.

- -

Porting NetSurf

- -

We are always interested to hear from people porting NetSurf to different hardware or operating systems. If you are keen to port NetSurf to a new platform please get in touch. NetSurf's developers are keen to ensure NetSurf is highly portable, so feedback is appreciated.

- -

We would be especially interested in hearing from anyone who could implement the NetSurf user interface under Windows.

- -
- -
-
- -

Getting NetSurf source code

- -

The source is kept in a Git repository. To check the latest source out use the command provided in the developer documentation.

- -

The recommended compilers are GCC or Clang. Guides to building NetSurf for various platforms are available in the source tree.

- -

It is also possible to browse the source online via the web interface.

- -

Contact the other developers

- -

If you want to contribute to NetSurf, the best thing to do is to get in touch with the developers. NetSurf's core development team communicate a great deal via IRC and also via the developer's mailing list.

- -

If you speak with the developers, you may find someone has already started what you intend to do or already put considerable thought into how to do it.

- -

General information

- -

We intend to make new major releases of NetSurf every year or so. These will happen when there are enough new features in the development versions to justify a new release. Prior to releases, addition of new features will be halted, and only bugfixes will occur. Major new releases will be made when NetSurf is sufficiently stable and the development version contains significant features that have not yet been released.

- -

The progress page gives an indication of the current status of NetSurf's features.

- -
-
- - - - - -
- - -
- -
- - - diff --git a/developers/index.html b/developers/index.html new file mode 100644 index 0000000..6b6f0f5 --- /dev/null +++ b/developers/index.html @@ -0,0 +1,153 @@ + + + +NetSurf | Developers and Contributors + + + + + + + + + +
+ + + +

Developer and Contributor Area

+ +

People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

+ +
+ +

Contributing to NetSurf

+ +

Everyone is very welcome to help NetSurf! There are all sorts of ways to contribute to the project.

+ +
+
Publicity
+
Help spread the word! NetSurf needs user, contributor and developer participation to stay vibrant.
+
Provide feedback
+
If you'd like to be involved in the future direction of NetSurf's development you can help by making feature requests and bug reports. Discussion of what you like and dislike about NetSurf is useful to the developers.
+
Non-programming contribution
+
If you'd like to contribute directly to the project but can't program, there are still many ways for you to participate. Details in the contribution guide.
+
Programming
+
If you can program then you are welcome to join the developers! If there's some aspect you'd like to improve, or feature you'd like to implement, contact us via the developer mailing list or on IRC and go from there. Also, see the instructions for submitting patches.
+
+ +

Take a look at the contribution guide for more ideas and information.

+ +

Run bleeding edge NetSurf

+ +

The most important way though which NetSurf users can contribute to the NetSurf project is by regularly testing the current development builds and providing feedback.

+ +

RISC OS users can download a precompiled test build, which can be installed and run in exactly the same way as NetSurf releases. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.

+ +

Once running the latest build you can browse the web as normal and let us know if you run into problems. Does the browser crash? Can you reproduce the crash? Did it crash at a specific site? What was the URL? Do you like the new features of the development build? How could NetSurf's interface be improved? These and more are the sorts of questions we're interested in your answers to. Our goal is to make NetSurf a piece of software everyone loves to use, and to do that we need your input!

+ +

The NetSurf documentation contains guidelines for making feature requests and reporting bugs.

+ +

Submitting patches

+ +

If you've developed a patch for NetSurf you can send it to us by either:

+ +
    +
  1. Putting it on the patch tracker.
  2. +
  3. Posting to the NetSurf Development mailing list and attaching the patch.
  4. +
  5. Giving the patch to one of the developers in the NetSurf IRC channel.
  6. +
+ +

If it is a tiny patch, the third option is best. Otherwise use the first or second.

+ +

Our pictorial Style Guide (single-page PDF) shows our code style.

+ +

Porting NetSurf

+ +

We are always interested to hear from people porting NetSurf to different hardware or operating systems. If you are keen to port NetSurf to a new platform please get in touch. NetSurf's developers are keen to ensure NetSurf is highly portable, so feedback is appreciated.

+ +

We would be especially interested in hearing from anyone who could implement the NetSurf user interface under Windows.

+ +
+ +
+
+ +

Getting NetSurf source code

+ +

The source is kept in a Git repository. To check the latest source out use the command provided in the developer documentation.

+ +

The recommended compilers are GCC or Clang. Guides to building NetSurf for various platforms are available in the source tree.

+ +

It is also possible to browse the source online via the web interface.

+ +

Contact the other developers

+ +

If you want to contribute to NetSurf, the best thing to do is to get in touch with the developers. NetSurf's core development team communicate a great deal via IRC and also via the developer's mailing list.

+ +

If you speak with the developers, you may find someone has already started what you intend to do or already put considerable thought into how to do it.

+ +

General information

+ +

We intend to make new major releases of NetSurf every year or so. These will happen when there are enough new features in the development versions to justify a new release. Prior to releases, addition of new features will be halted, and only bugfixes will occur. Major new releases will be made when NetSurf is sufficiently stable and the development version contains significant features that have not yet been released.

+ +

The progress page gives an indication of the current status of NetSurf's features.

+ +
+
+ + + + + +
+ + +
+ +
+ + + diff --git a/developers/publicity.en b/developers/publicity.en deleted file mode 100644 index 3065824..0000000 --- a/developers/publicity.en +++ /dev/null @@ -1,103 +0,0 @@ - - - -NetSurf | Publicity - - - - - - - - - -
- - - -

Publicity

- -

There isn't much here yet, except the NetSurf logo image in vector format.

- -
-
Full NetSurf logo
-
- -
-
NetSurf emblem (no text)
-
- -
-
- -

More coming soon.

- -

Web buttons

- -

Web banners

- -

Magazine adverts

- - - - - - - -
- - -
- -
- - - diff --git a/developers/publicity.html b/developers/publicity.html new file mode 100644 index 0000000..3065824 --- /dev/null +++ b/developers/publicity.html @@ -0,0 +1,103 @@ + + + +NetSurf | Publicity + + + + + + + + + +
+ + + +

Publicity

+ +

There isn't much here yet, except the NetSurf logo image in vector format.

+ +
+
Full NetSurf logo
+
+ +
+
NetSurf emblem (no text)
+
+ +
+
+ +

More coming soon.

+ +

Web buttons

+ +

Web banners

+ +

Magazine adverts

+ + + + + + + +
+ + +
+ +
+ + + diff --git a/documentation/develop.en b/documentation/develop.en deleted file mode 100644 index c888de5..0000000 --- a/documentation/develop.en +++ /dev/null @@ -1,129 +0,0 @@ - - - -NetSurf | Developer Documentation - - - - - - - - - -
- - - -

Developer Information

- -

This document contains various information for developers or anyone interested in contributing to NetSurf.

- - - -

Last updated 11 November 2007

- -

Source control

- -

The source is kept in a Git repository. To check the source out use the command:

- -

$ git clone git://git.netsurf-browser.org/netsurf.git

- -

You can also browse the source via the web interface.

- -

Recent changes can be seen on the development page. An an RSS feed of recent changes is also provided by CIA. All checkins are reported on the Commits mailing list.

- -

Contact Daniel Silverstone to get write access to the Git repository. We also accept pull requests from places such as github.

- - -

Compiling

- -

The recommended compilers are GCC or Clang. Guides to building NetSurf for various platforms are available in the source tree.

- -

The autobuilder compiles every change pushed to our Git repository. It also runs test suites and other features automatically.

- -

A debug version of NetSurf can be built. This is command-line only and does not include any GUI code. It runs natively on Linux so can be debugged and checked using gdb, efence, valgrind, etc.

- -

Dependencies

- -

NetSurf requires a number of additional libraries to build. Consult the documents in the Docs directory of NetSurf's source tree for more info.

- - -

Source documentation

- -

See the Docs directory for source code documentation. Our pictorial Style Guide (single-page PDF) shows our code style.

- - -

Communication

- -

The main method of communication between the developers is the #netsurf IRC channel.

- -

The developers' mailing list is also used for less transient communication.

- - -

Translations

- -

Translations of NetSurf to other languages are welcome. No programming knowledge is required, just the ability to use a template editor and a text editor. Please see the translations page for more information.

- - - - -
- - -
- -
- - - diff --git a/documentation/develop.html b/documentation/develop.html new file mode 100644 index 0000000..c888de5 --- /dev/null +++ b/documentation/develop.html @@ -0,0 +1,129 @@ + + + +NetSurf | Developer Documentation + + + + + + + + + +
+ + + +

Developer Information

+ +

This document contains various information for developers or anyone interested in contributing to NetSurf.

+ + + +

Last updated 11 November 2007

+ +

Source control

+ +

The source is kept in a Git repository. To check the source out use the command:

+ +

$ git clone git://git.netsurf-browser.org/netsurf.git

+ +

You can also browse the source via the web interface.

+ +

Recent changes can be seen on the development page. An an RSS feed of recent changes is also provided by CIA. All checkins are reported on the Commits mailing list.

+ +

Contact Daniel Silverstone to get write access to the Git repository. We also accept pull requests from places such as github.

+ + +

Compiling

+ +

The recommended compilers are GCC or Clang. Guides to building NetSurf for various platforms are available in the source tree.

+ +

The autobuilder compiles every change pushed to our Git repository. It also runs test suites and other features automatically.

+ +

A debug version of NetSurf can be built. This is command-line only and does not include any GUI code. It runs natively on Linux so can be debugged and checked using gdb, efence, valgrind, etc.

+ +

Dependencies

+ +

NetSurf requires a number of additional libraries to build. Consult the documents in the Docs directory of NetSurf's source tree for more info.

+ + +

Source documentation

+ +

See the Docs directory for source code documentation. Our pictorial Style Guide (single-page PDF) shows our code style.

+ + +

Communication

+ +

The main method of communication between the developers is the #netsurf IRC channel.

+ +

The developers' mailing list is also used for less transient communication.

+ + +

Translations

+ +

Translations of NetSurf to other languages are welcome. No programming knowledge is required, just the ability to use a template editor and a text editor. Please see the translations page for more information.

+ + + + +
+ + +
+ +
+ + + diff --git a/documentation/guide.en b/documentation/guide.en deleted file mode 100644 index 59dc3b1..0000000 --- a/documentation/guide.en +++ /dev/null @@ -1,1516 +0,0 @@ - - - -NetSurf | User Guide - - - - - - - - - -
- - - -

Note that this document was written for the RISC OS version of NetSurf.

- -

User Guide

- - - -

Last updated 10 November 2007

- -

Using NetSurf

- -

To run NetSurf, simply double click on the NetSurf application. This will cause the NetSurf icon to appear on the iconbar. Select clicking on this icon will open a browser window. Adjust clicking on NetSurf's iconbar icon opens the hotlist management window.

- -

Iconbar Menu

- -

The iconbar menu contains options which concern the application as a whole.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Interactive Help

- -

Instant on-line help is available throughout the software, in the form of interactive help. This offers quick help information, in bullet point format, about the item under the pointer.

- -

To use interactive help, suitable software must be running. The program 'Help' is shipped with all RISC OS computers and it can be run from NetSurf's Help > Interactive help menu item.

- -

Browser Window

- -

The browser window is used to fetch and display web pages and other content available on the World Wide Web. It can also display files that are stored locally on your computer. The file types that NetSurf can handle include HTML, CSS and various image formats.

- -

- -

The area at the top of the browser window is called the toolbar. At the bottom, it can be seen that the horizontal scroll bar does not cover the full width of the window. Next to the horizontal scroll bar, is the status bar. The main section in the middle of the window is the most important part, the content area.

- -

The content area displays web pages and other material, such as images. Web pages contain hyperlinks (often just called 'links') which can point to another part of the page, to a different page or to any other type of file. Links pointing to types of files that NetSurf doesn't recognise will open a download window. Placing the pointer over a link changes the pointer to a 'clicking hand', to indicate that the item can be clicked on.

- -

Toolbar

- -

The section at the top of the window is called the toolbar. It allows quick access to various commonly used features. Many more functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

- -

- -

Toolbar Icons

- -

Back Clicking on this button makes NetSurf go back to the previous page in the local history list. Select click to view the previous page in the current window. Adjust click to view it in a new window. Form information is not resubmitted.

- -

Forward Clicking on this button allows you to advance through the local history list. Select click to view the next page in the current window. Adjust click to view it in a new window. Form information is not resubmitted.

- -

History Select clicking on this button opens a window containing the local history tree. Adjust clicking opens the global history window. More detailed information can be found in the History section.

- -

Home Clicking on this button returns to the configured home page.

- -

Hotlist Select clicking on this button opens the hotlist management window. Adjust clicking adds the current location to the hotlist.

- -

Print Clicking on this button will open the print dialogue box.

- -

reload Select clicking on this button will make NetSurf fetch and redraw the current page again. Adjust clicking forces NetSurf to fetch the current page as well as any objects it contains, such as images and style sheets.

- -

Save Clicking on this button will open a save dialogue box, to allow you to save the page for future reference.

- -

Scale Clicking on this button will open the scale view window. It allows you to scale documents, affecting both text and pictures.

- -

Search Clicking on this button opens the find text window. It allows you to search for a string of text within a document.

- -

Stop Clicking on this button stops whatever process the window is doing.

- -

Up Clicking on this button moves up the directory tree. For example, if you are looking at http://www.domain.com/directory/page.html, clicking on the up icon takes you to http://www.domain.com/directory/ and a further click would result in a location of http://www.domain.com/.

- -

Icons that are greyed out indicate that their function is unavailable. This happens when a new browser window is first opened. Since the window will be displaying its first page, there would be no previous page and the back button is greyed out. Also, as this is the first page, the forward button is also greyed out.

- -

Throbber: This NetSurf logo animates while a page is downloading or rendering. It indicates that NetSurf is doing something.

- -

URL Bar

- -

The white writable icon on the toolbar is called the URL Bar and it shows the location of the current page. Here, you can enter the address of the page you want to view next. Text files dropped onto the URL bar are treated as URLs.

- -

Next to the URL bar is a pop-up menu button which opens a list of URLs previously typed into the URL bar. Clicking on one of the URLs opens the page.

- -

The current URL can be dragged from the URL bar to be saved or dropped onto other applications. A Ctrl drag saves the URL in Text format and a Shift drag saves it in ANT URL format. Systems that don't support text selection in writable icons (i.e. non RISC OS Select systems) allow the URL to be dragged out in Text format without the use of either Ctrl or Shift.

- -

URL Completion

- -

When typing into the URL bar, NetSurf opens a window below displaying suggestions for the full address. If the address you want is not shown, the box can be ignored. If the intended address is shown, select clicking on it will complete the address and open the page automatically. An adjust click on a URL copies it into the URL but does not load the page. The Up and Down cursor keys can be used to select an address from the list and the Return key opens the page. Escape closes the URL completion window. The function of other keys in the URL bar, such as the Left and Right cursor keys, is unaffected by this feature.

- -

Status Bar

- -

The status bar, at the bottom of the window, displays information to the user. When you move the pointer over a link, the status bar will display the URL that the link points to. The status bar also displays information about NetSurf's progress while retrieving a page.

- -

Between the status bar and the horizontal scroll bar is the status bar resizer. Over this widget, the pointer changes to a double headed arrow and you can drag the status bar resizer to set the width of the status bar.

- -

Content Area

- -

The content area is the main part of the browser window; it displays documents and images. Various types of action can be performed in the content area, including:

- - - -

Some operations, such as a dragging and clicking will behave differently depending on the content over which the action is carried out. For example, dragging over text initiates text selection whereas dragging over non-textual content will drag-scroll the page.

- -

Further options are available through the menu, some of which are only available when menu is clicked over certain types of content. For example the Object submenu is available only when menu is clicked over an object, such as an image.

- -

Text Selection

- -

Textual content on pages can be selected and copied. Text in text areas can be selected and then cut or copied to the global clipboard. The global clipboard contents can also be pasted into text areas.

- -
    -
  • Select click clears previous selections.
  • -
  • Select drag over text clears previous selection and creates new selection.
  • -
  • Adjust click adds to selection. If Adjust was clicked outside the selection the nearest end of the selection is moved to where adjust was clicked. If Adjust was clicked inside the current selection, the second (last) end of the selection is moved to where Adjust was clicked. If Adjust is clicked on a link, the selection is not modified and link handling behaviour is followed.
  • -
  • Adjust drag over text dynamically does the same as repeatedly doing an Adjust click as you move the mouse, except, Adjust drag over links modifies the selection and does not follow the link.
  • -
- -

Ctrl+C copies selected text to the global clipboard. Ctrl+A selects all text, while Ctrl+Z clears the selection.

- -

Drag Scrolling

- -

The page can be scrolled by dragging non-textual areas up and down. During a drag scroll action, the pointer changes to a hand.

- -
    -
  • Select drag on any non textual area of the page (except plugin areas and overflow: scroll scrollbars) drags the page.
  • -
  • Adjust drag on any part of the page, including text, provided there is no selection drags the page. Page drag scrolling is not possible over plugin areas or scrollbars, such as those for text areas or overflow: scroll.
  • -
- -

Link Handling

- - - -
    -
  • Select click on a link follows the link in current window.
  • -
  • Adjust click on a link opens the link in new window.
  • -
  • Shift+Select click on a link opens a download dialogue box for the link target.
  • -
  • Shift+Adjust click on a link opens a save box for saving link the target address as a URL file.
  • - -
- -

Drag Saving

- -

Content can be dragged directly from the page to a filer window with the Ctrl key.

- -
    -
  • Ctrl+Select drag saves the item under the pointer to a filer window or another application. The item is saved in its original format.
  • -
  • Ctrl+Adjust drag saves the item under the pointer to a filer window or another application. Generally it saves it in the most applicable RISC OS format.
  • -
- -

Different items are treated as follows.

- -
    -
  • If the content drag save is initiated on a bitmap image, it is saved in its original format with Select. With Adjust it is saved as a sprite.
  • - -
  • If the content drag save is initiated on a text selection, it is saved as text, whether it comes from an HTML page, CSS file or whatever. Select / Adjust usage makes no difference.
  • -
  • If the content drag save is initiated on a part of a web page that is neither image or selection, the page is saved as a "full save" with Select. With Adjust, the HTML is saved only.
  • - -
  • text/plain is always saved as text.
  • -
- - - -

Form Completion

- -

Forms allow information to be entered and submitted to an agent such as a web server or mail server. Some form controls can be styled by web pages, so they may look quite different from one page to the next. Some common form controls are described below.

- -
-
Buttons
-
Buttons trigger some action when selected. Common button actions are to submit or reset the form.
- -
Checkboxes
-
Checkboxes are on/off switches that can be toggled. Checkboxes containing a red square are "on".
- -
Radio Buttons
-
Radio buttons are like checkboxes except that groups of radio buttons are mutually exclusive: when one is switched "on", all others with the same name are switched "off". Radio buttons containing a red circle are "on".
- -
Selection Menus
-
Selection menus open a menu, from which an item, or in some cases several items, can be selected. Selected items are displayed with a tick (✓) next to them. The pointer changes to indicate a pop-up menu is available over selection menu controls.
- -
TextInput
-
A text input allows a single line of text to be entered and edited. Pressing Return in a text input will submit the form.
- -
File Input
-
File inputs say "Drop file here" and allow local files to be submitted. Dragging a file to them sets the path to the file.
- -
Text Area
-
Text areas are similar to text inputs but they allow multiple lines to be edited. Pressing Return in a text area moves the caret to the next line.
-
- -

Tab can be used to move the caret to the next text input or text area control. Shift+Tab moves input focus back to the previous text box.

- -

Menus

- -

The browser window menu contains options relating to the content of the current window. Some of these options are unavailable at present as this area of NetSurf is not complete. The following options are available:

- - - - - - - - - - - - - - -

The Page submenu contains the following options relevant to the current page.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The Object submenu contains the following options relevant to the current object. This submenu is only available when the pointer is placed over an object such as a link or an image.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The selection submenu contains the following options, for manipulating the current selection and performing clipboard actions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The Navigate submenu contains the following options, useful for navigating the web.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The Display submenu contains the various options which affect the rendering of the current window. Other configuration options are described in the configuration section.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

If the buttons, URL bar and throbber are all disabled, the toolbar at the top of the window is removed, leaving more space for the main content area.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The Utilities submenu allows you to access some of NetSurf's extra features.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The Help submenu contains options for fast access to help and information while you're using NetSurf.

- - - - - - - - - - - - - - - - - - - - - - - - - -

File Types

- -

When NetSurf encounters a file type it does not recognise, it opens a download window to allow the file to be saved to disc. (Note, NetSurf ignores local files of unrecognised file types.) The file types that NetSurf understands are listed below, with their RISC OS file type and MIME type(s) .

- - - - - - - - - - - - - - - - - - -
NameTypeMIME type(s)
Acorn URI&f91N/A
ANT URL&b28N/A
CSS&f79text/css
Drawfile&affapplication/drawfile
application/x-drawfile
image/drawfile
image/x-drawfile
Flash&188application/x-shockwave-flash
GIF&695image/gif
HTML&faftext/html
IEURL&1baN/A
JNG&f78image/jng
image/x-jng
JPEG&c85image/jpeg
image/pjpeg
MNG&f83image/mng
image/x-mng
video/mng
video/x-mng
NetSurf ThemeN/Aapplication/x-netsurf-theme
PNG&b60image/png
Sprite&ff9image/x-riscos-sprite
Text&ffftext/plain
- -

Flash files are not handled by NetSurf directly but are displayed by an external plugin.

- -

NetSurf recognises different file types by their RISC OS file type for local files and by their content-type header for files sourced from the internet. Files are not identified by their extension or content. This means that for a file to be displayed, servers must be configured to send the correct content-type header and local files must have the correct RISC OS file type set.

- -

Download Window

- -

Whenever you follow a link to a file that NetSurf doesn't know how to handle, NetSurf opens the download window. This allows you to save a local copy of the file. The download window is shown below.

- -

- -

As soon as the download window opens, NetSurf starts downloading the file to your Scrap directory. At any time, either as the file downloads or after it has finished, it is possible drag the file icon at the top of the window to the directory where you wish to keep the file. This action causes the file to be moved to your desired location from Scrap and if the download is incomplete, the remainder of the file will also go to the new location.

- -

The Source field indicates the location of the file being downloaded.

- -

Initially, the Destination field allows the local filename of the file being downloaded to be set. Once the local destination of the file has been set, by dragging the icon to a filer window, the local path is shown here. Clicking on it will open the associated directory.

- -

The bottom part of the download window displays information about the download's progress. On the left, the amount already downloaded and the total size are displayed. In the middle, the download speed is indicated and that the right, and estimated time remaining is shown. A beige progress bar indicates the download's progress visually.

- -

History

- -

While browsing the World Wide Web, you may come across interesting pages and some time later, you may wish to return to them. NetSurf's history stores the addresses (URLs) of the web pages you visit so that you can return to a page without having to remember the URL or how you first came across it.

- -

NetSurf supports two distinct types of history; local and global. Local history contains only the pages that are visited in any particular window. Global history contains all the pages that have been visited in NetSurf and is remembered when NetSurf is restarted.

- -

Local History Window

- -

NetSurf's local history window provides a diagrammatical overview of the browsing history of a particular window. Each web page that is visited is represented by a thumbnail in a tree diagram. Beneath each thumbnail the page title is shown. Clicking on a thumbnail will cause the NetSurf browser window to return to that particular page.

- -

Global History Window

- -

NetSurf's global history stores the addresses (URLs) of all the web pages you visit. To open the global history window, you can adjust click on the history toolbar button on a browser window, use the browser window menu option or use the iconbar menu. The global history is made up from "addresses" and "directories".

- -

An address consists of a name and a URL. Addresses in the global history can point to any kind of file and double clicking on one will launch the URL in NetSurf. Addresses also store the date the URL was visited. By default, addresses are listed in the order they were visited and they are grouped by date within directories.

- -

Directories store groups of addresses. In the default global history view, there are directories for each day up to the beginning of last week and further directories for previous weeks. The global history is expired after a maximum of four weeks.

- -

The global history display works in a similar way to a filer window, although there are some important differences. Directories are not opened in new windows. Instead, the whole of the history is displayed in one window and directories represented by branches in a tree diagram. Double clicking on a closed directory will open it, displaying its contents as a new branch. Double clicking on an open directory will close it. When addresses are double clicked on, their URL is launched by NetSurf.

- -

Next to the address and directory icons there are toggle boxes, which can be used to expand and collapse branches in the history tree. Clicking on the branch toggle boxes next to directories has exactly the same effect as double clicking on a directory. Expanding an address with the branch toggle box displays the other information it contains. (The URL and the time it was visited.) The space bar can also be used to expand or collapse selected addresses.

- -

As with filer windows, selections can be made by dragging selection boxes and adjust clicking can be used to add or remove items from the selection.

- -

Toolbar

- -

The global history toolbar allows quick access to various commonly used features. More functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

- -

Delete Selection Clicking on this button deletes any selected directories or addresses from the global history.

- -

Expand Addresses Select clicking on this button expands any addresses that are being shown, to display additional information about each one. Adjust clicking hides the additional information for any expanded addresses.

- -

Launch Selection Clicking on this button launches all selected addresses in separate browser windows. If a directory is selected any addresses it contains will be launched.

- -

Open Directories Select clicking on this button opens every directory in the global history. Adjust clicking closes any open directories.

- -

Menus

- -

The global history menu contains options which allow you to manage the content of your global history. The options available are:

- - - - - - - - - - - -

The History submenu contains the following options which apply to the global history window in general.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The selection submenu, which is only available when a selection has been made in the global history window, contains the following options.

- - - - - - - - - - - - - - - - - - - -

Hotlist Management Window

- -

While browsing the World Wide Web, you may come across pages that you wish to return to. NetSurf's hotlist provides a convenient way of storing these addresses (URLs) so that you can return to the page without having to remember the URL or how you first came across the page. To open the hotlist management window, you can adjust click on NetSurf's iconbar icon or select click on the Hotlist toolbar button in a browser window. Hotlists are made up from "addresses" and "directories". There can be as many of each of these as you like.

- -

An address consists of a name and a URL. Hotlist addresses can point to any kind of file and double clicking on one will launch the URL in NetSurf. The name can be anything but, for web pages, it is set to the page title by default. The simplest way to add an address to the hotlist is to adjust click on the Hotlist toolbar button in a browser window. This adds the URL of the current page to the hotlist. Additionally, files on your hard disc can be added by dragging them to the hotlist from a filer window. Addresses also store other usage information, such as the date the address was added to the hotlist, when it was last visited and how many times it has been visited in total.

- -

Directories are used to group related addresses to allow for easy location of the address you want. They can be nested and contain a mixture of addresses and other directories.

- -

The hotlist display works in a similar way to a filer window, although there are some important differences. Directories are not opened in new windows. Instead, the whole hotlist is displayed in one window and directories represented by branches in a tree diagram. Double clicking on a closed directory will open it, displaying its contents as a new branch. Double clicking on an open directory will close it. When addresses are double clicked on, their URL is launched by NetSurf.

- -

Next to the address and directory icons there are toggle boxes, which can be used to expand and collapse branches in the hotlist tree. Clicking on the branch toggle boxes next to directories has exactly the same effect as double clicking on a directory. Expanding an address with the branch toggle box displays the other information it contains, such as the URL and its usage statistics. The space bar can also be used to expand or collapse selected addresses.

- -

As with filer windows, selections can be made by dragging selection boxes and adjust clicking can be used to add or remove items from the selection. Selections can then be dragged and dropped within the hotlist management window to move them around. It is possible to drop a selection into a closed directory by releasing it over the bottom half of the target directory. Dropping the selection over the top half of a directory or address will insert the selection above that item. Finally, dropping a selection over the lower half of an address will move it below the address.

- -

Renaming of addresses and directories can by achieved by clicking on an item with the Alt key held down. The URLs within expanded address entries can also be altered in this way. Selected items can be deleted from the toolbar, menus or with Ctrl+X

- -

NetSurf's hotlist is stored as an HTML file which can be found in Choices:WWW.NetSurf. This means the hotlist file can be loaded into a NetSurf browser window and used as a links page or set to your default home page. The hotlist file is saved when you quit NetSurf.

- -

Toolbar

- -

The hotlist toolbar allows quick access to various commonly used features. More functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

- -

Toolbar Icons

- -

Create Directory Clicking on this button adds a new directory to the bottom of the hotlist. The cursor is placed at the name of the new directory. Either type Ctrl-U and rename it or press Return to accept the default name.

- -

Delete Selection Clicking on this button deletes any selected directories or addresses from the hotlist.

- -

Expand Addresses Select clicking on this button expands any addresses that are being shown, to display additional information about each one. Adjust clicking hides the additional information for any expanded addresses.

- -

Launch Selection Clicking on this button launches all selected addresses in separate browser windows. If a directory is selected any addresses it contains will be launched.

- -

Open Directories Select clicking on this button opens every directory in the hotlist. Adjust clicking closes any open directories.

- -

Icons that are greyed out indicate that their function is unavailable.

- -

Menus

- -

The hotlist menu contains options which allow you to manage the content of your hotlist. The options available are:

- - - - - - - - - - - -

The Hotlist submenu contains the following options which apply to the hotlist in general.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The selection submenu, which is only available when a selection has been made in the hotlist management window, contains the following options.

- - - - - - - - - - - -

Addresses added to the hotlist from a NetSurf browser window have a default name set. For HTML files, this is the page title.

- - - - - - - - - - - - - -

Configuring NetSurf

- -

NetSurf can be tailored to suit your needs by configuring the way it looks and behaves. Most of NetSurf's configuration options are available from the global choices panel. Display options for browser windows are set up for an individual browser window and then saved globally in the browser window menus.

- -

Toolbars can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section.

- -

Global Configuration

- -

The configuration panel is opened from the iconbar menu.

- -
- - -

NetSurf's global configuration sections

-
- -

Clicking on one of the section icons will open a new configuration window, allowing you to set up that particular aspect of NetSurf.

- -

All of NetSurf's configuration section windows have the following three buttons at the bottom.

- -
-
-
Default
-
This button can be used to reset NetSurf's options, for the current configuration window, to the original values that are built into NetSurf. Use this button if you think that you have configured something wrongly and want to try the "factory settings".
-
Cancel
-
Select clicking on this button will close the window. Any changes you have made will be discarded.
Adjust clicking on this button will return all the options in the window back to the last saved values, that were shown when you opened the window.
-
Set
-
Select clicking on this button will save your changes and close the window.
Adjust clicking on this button will save your changes and leave the window open.
-
-
- -

Cache Configuration

- -

NetSurf keeps local copies of some content, which has been downloaded from the internet. This local copy of downloaded data is called a cache and it improves NetSurf's performance. The cache is used so that if, for example, you visit a page that contains an image and then go to another page that uses the same image, NetSurf will not need to download the same image twice.

- -

NetSurf has two separate caches, the memory cache and the disc cache.

- -
Memory cache
- -

The memory cache is used to store data related to the most recent pages you have seen. Since this data is stored in memory, it can be accessed very quickly. The memory cache is not preserved over sessions, and is lost when you quit NetSurf.

- -
-
-
Size
-
This option can be used to alter the size of NetSurf's memory cache. A larger cache will allow more content to be stored in memory, at the expense of greater memory usage.
-
-
- -
Disc cache
- -

The disc cache is used to store content from web sites on your computer's hard disc. This allows you to return to old pages without having to download them again. The disc cache also stores other persistent data (data that is recovered next time you start NetSurf). It stores web page thumbnails for showing in global history.

- -
-
-
Duration
-
This option can be used to alter the maximum length of time data will stay in the disc cache, without being used, before it is dropped from the cache. Note that files are not automatically deleted from your hard disc when they are dropped from the cache. Files in the cache are each assigned a file name. When the file is dropped from the cache its file name is freed up, so that a new file to be written to the cache can overwrite it. NetSurf does not automatically delete dropped files for performance reasons and to keep hard disc usage to a minimum. To manually delete dropped files, use the "perform maintenance button below.
-
Perform maintenance
-
This button can be used to delete any redundant files from NetSurf's disc cache.
-
-
- -

At the current time the disc cache is not fully operational. It is only used for storing images.

- -

Connection Configuration

- -

NetSurf accesses the internet by contacting remote computers. The options here can be used to configure how it does this.

- -
HTTP Proxy
- -

Some computers need to be connected to the internet through a proxy server. If your Internet Service Provider has a proxy server, the details can be entered here.

- -
-
-
Proxy type
-
This option can be used to select a proxy type. "No proxy" means you do not require a proxy to connect to the internet. "Simple proxy" means use a proxy that does not require authentication (a username and password). "Basic authentication" means use a proxy that requires a username and password. "NTLM authentication" also means use a proxy that requires a username and password. Consult your ISP to find out which option to use. If a proxy is required, "Simple proxy" is the most common type.
-
Host
-
This option can be used to set the host name for the proxy server. This option will be greyed out if "No proxy" has been selected above.
-
Port
-
This option can be used to set the port number for the proxy server. This option will be greyed out if "No proxy" has been selected above.
-
Username
-
This option can be used to set a username for use with the proxy server. This option will be greyed out unless a proxy with authentication has been selected for the proxy type.
-
Password
-
This option can be used to set a password for use with the proxy server. This option will be greyed out unless a proxy with authentication has been selected for the proxy type.
-
-
- -
Fetching
- -

The way NetSurf fetches content from the internet can be tailored to suit your hardware and the speed of your internet connection. These are quite advanced configuration options and should not need to be modified, in most cases.

- -
-
-
Maximum fetches
-
This option can be used to set the maximum number of simultaneous fetches (downloading multiple things in parallel) that NetSurf will carry out at one time. After this limit is reached, new fetches will be queued and fetched as the current fetches are completed. High values will benefit people with fast connections and fast computers, that are able to keep up with all the incoming data.
-
Fetches per host
-
This option can be used to set the maximum number of simultaneous fetches per host. This means the limit to the number of simultaneous downloads from a particular web site. Simultaneous downloads from the same host can speed up fetching web pages quite dramatically because images on the page can be fetched in parallel, rather than in series.
-
Cached connections
-
This option can be used to set the maximum number of persistent connections that NetSurf can maintain at any one time. Persistent connections, or "Keep-Alive" connections are HTTP sessions that allow multiple requests to be sent over the same connection. In some cases they have been shown to result in an almost 50% speed up in latency times for HTML documents with lots of images.
-
-
- -

Content Configuration

- -

Content is the name given to material downloaded from the World Wide Web. It can be web pages, images, animations and more.

- -
Content blocking
- -

NetSurf can prevent certain types of content from loading and stop pages from performing certain actions.

- -
-
-
Hide advertisements
-
This option can be used to stop NetSurf from displaying advertisements on web pages. This can be useful for pages which contain distracting or obtrusive adverts. Note that NetSurf can only make an educated guess at which content is an advert and which is not. This can mean that some adverts will be fail to be blocked, or more seriously, when advertisement blocking is enabled some valid content may occasionally be blocked.
-
Disable pop-up windows
-
This option can be used to stop web pages from opening new browser windows on your desktop. Some pages may try to open advertisements in new windows, when you visit the page, or open some links in pop-up windows, instead of the current window. Disabling pop-ups means that the only way a new window can be opened is when a user explicitly opens it.
-
Disable plug-ins
-
This option can be used to disable plug-ins. Plug-ins are external applications that can handle specific types of content, for example Flash files. This option disables the use of plug-ins, meaning that NetSurf will simply not display the particular file, or use any alternative content provided by a web page.
-
-
- -

Font Configuration

- -

Most content and information on the World Wide Web is text. It is important to set NetSurf up so that it displays text that you find comfortable to read.

- -
Font faces
- -

You can set which specific font on your system that you want NetSurf to use for each of the five styles of typeface that are available for use on the World Wide Web.

- -
-
-
Sans-serif
-
This option can be used to select a particular sans-serif font on your system. It will be used whenever a web page specifies a sans-serif typeface. Helvetica (Homerton) is an example of a sans-serif font.
-
Serif
-
This option can be used to select a particular serif font on your system. It will be used whenever a web page specifies a serif typeface. Times (Trinity) is an example of a serif font.
-
Monospace
-
This option can be used to select a particular monospace font on your system. It will be used whenever a web page specifies a monospace typeface. Courier (Corpus) is an example of a monospace font.
-
Cursive
-
This option can be used to select a particular cursive font on your system. It will be used whenever a web page specifies a cursive typeface. ZapfChancery (Churchill) is an example of a cursive font.
-
Fantasy
-
This option can be used to select a particular fantasy font on your system. It will be used whenever a web page specifies a fantasy typeface. There is no particular style of font associated with fantasy, so any fancy looking but readable font would be apt and suitable.
-
Default
-
This option can be used to set the default font style. It is used when web pages do not specify a font face of their own. Sans-serif and serif are the most typical options for this setting.
-
-
- -
Font size
- -

The size of text used to render web pages can be controlled with the following options. It is important to ensure that the text NetSurf renders is at a size you find comfortable to read.

- -
-
-
Default
-
This option can be used to set the default font size. The default font size is the size at which text will be rendered whenever web pages do not specify a size. It is also the base size that is used where web sites specify relative font sizes.
-
Minimum
-
This option can be used to set the minimum font size. No text will be rendered smaller than this size, even if a web site specifies a smaller size. This option is used to ensure that web pages are never rendered with smaller text than you find easy to read.
-
-
- -

Home Page Configuration

- -

The home page is the page that is opened when you open a new window from the icon bar.

- -
Home page
- -
-
-
URL
-
This option can be used to set NetSurf's home page address. Any address can be typed into the box, or an address can be selected from a menu of recently visited URLs. These URLs are addresses that have previously been typed into the URL bar of a NetSurf browser window.
-
Open browser window on start-up
-
This option can be used to make NetSurf open a new browser window on the desktop, when the application is started.
-
-
- -

Image Configuration

- -

A great deal of content on the internet is in the form of images. NetSurf allows the display of images to be tailored to suit the hardware you use.

- -
Image quality
- -

NetSurf can use various different methods to display images on web pages. If you are using NetSurf in a 16 million colour screen mode, all the options will perform the same. If you use less than 16 million colours then there is a trade-off between image quality and rendering speed. The exception to this is the "Use OS" option, which will never display images with alpha channels (varying degrees of transparency) as well as any of the other options. The four image quality settings are described below.

- -
-
Use OS
-
This means that RISC OS's routines (OS_SpriteOp) are used to display images. This option results in poor quality (especially so for images with alpha channels as the alpha channel is emulated using standard calls) and also poor speed. This option is not recommended unless you are having problems with the other options.
-
Direct to screen
-
This is the fastest available output, but suffers the same low quality as using the OS routines in less than 16 million colours. However, this option can render images with alpha channels correctly. If you are on a slow machine you may want to use this for background images.
-
Dithered
-
This is a quick method for improving the display of images in screen modes with less than 16 million colours. It emulates twice as many colours as are available in the current screen mode (for less than 16 million colours). It gives a fair increase in display quality for many images and you won't notice much speed loss. If you're on a slow machine you will probably find this best for foreground images.
-
Error diffused
-
This is another method for improving the display of images in screen modes with less than 16 million colours. It is slower than dithering but offers the highest quality representation of images. If you run in an 8bpp (256 colour) screen mode then this is as aesthetically pleasing as you can get. As it is slower than the other options, you may only want to use it for foreground images, even on a medium powered machine (such as a SA RiscPC).
-
- -

Note that if you are using a 16 million colour mode then neither error diffusion or dithering will be used, even if one of these options is selected. This is because all possible colours can be displayed directly. Naturally, use of a 16 million colour million colour screen mode gives the best possible display, if you have the image quality setting set to "Direct to screen", "Dithered" and "Error diffused". If you use 16 million colours and have a fast machine, it is best to use "Error diffused", so that if you ever drop to a low colour screen mode you still get the best available image quality.

- -
-
-
Foreground
-
This option can be used to set the type of rendering to be used for foreground images. Since foreground images are often important features of web pages and cover relatively small areas, it is worth setting this setting as high as you can get away with on your hardware. For details on what each of the options actually does, see the notes above.
-
Background
-
This option can be used to set the type of rendering to be used for background images. Since background images are rarely vital features of web pages and can cover large areas, it would be wise to set this setting to a lower quality than for foreground images, if you are not running NetSurf on one of the latest machines. For details on what each of the options actually does, see the notes above.
-
Preview image
-
This section shows the results of your image quality choices on the visual appearance of images. In 16 million colour screen modes, the "Direct to screen", "Dithered" and "Error diffused" will look the same. If the "Use OS" option is used for the foreground image, the preview will demonstrate the poor handling of alpha channels that this mode exhibits. In 256 colour modes, the differences between the different quality settings should be quite pronounced.
-
-
- -
Animations
- -

Some web pages use animations, which are a series of still images played in sequence.

- -
-
-
Speed limit
-
This option can be used to set the minimum time delay between displaying each frame of an animation. Increasing this value will cause animations to run slower. Fast animations require a lot of computational effort, so a very low setting can cause your computer to slow down when rapid animations are displayed.
-
Disable animations
-
This option can be used to stop animations from being played. If animations are disabled then the first frame of the animation is shown as a static image.
-
-
- -

Interface Configuration

- -

The way NetSurf interacts with its users is called its interface. Various aspects of NetSurf's behaviour can be tailored to suit your requirements.

- -
Downloading / saving files
- -

You can use NetSurf to save content from the internet onto your local hard disc.

- -
-
-
Strip filename extensions when saving
-
This option can be used to remove the file extensions (eg .html and .jpeg) from file names. The extensions are not needed on RISC OS as it records the file type by other means. You may want to retain file extensions if you plan to transfer saved files to other computers, running different operating systems.
-
Request confirmation before overwriting files
-
This option can be used to make NetSurf to ask for confirmation before overwriting a file of the same name, when saving. Please note that NetSurf does not allow directories to be overwritten. Also note that SparkFS causes zip files and other archives to be treated as directories.
-
-
- -
Interactive features
- -

NetSurf has various features that can provide information and additional functionality as you use or interact with the program.

- -
-
-
Display recently visited URLs as you type
-
This option can be used to enable NetSurf's URL suggestion feature. When this is enabled and you type into the URL bar of a NetSurf browser window, then a small window is opened up below the URL bar, which shows previously visited URLs that could be used to complete the URL you're typing. For more information, see the URL completion section.
-
Hover URLs by the pointer for local history
-
This option can be used to make NetSurf display the URL of the thumbnail under your mouse pointer in local history windows. The URL is displayed in a floating box, beside the pointer.
-
-
- -

Language Configuration

- -

NetSurf has been designed to work in different languages and you can select the one that you find most suitable.

- -
Language
- -
-
-
Interface
-
This option can be used to select the language to use for NetSurf's interface. This includes menus, dialogue boxes and interactive help text. The only available languages are those that have had resources prepared for them. At the current time, these are English, Dutch, French and German.
-
Web pages
-
This option can be used to request for web pages to be sent in your preferred language. Some web sites are available in a variety of languages. NetSurf will request that web servers send pages in the language of your choice. If your desired language is unavailable, the server will ignore the request and use a default language.
-
-
- -

Memory Configuration

- -

NetSurf provides you with a certain amount of control over how it uses the memory on your system. The way you set up NetSurf's memory usage will depend on how much memory your system has and how many other applications you tend to have running while browsing the World Wide Web.

- -
Image memory
- -

NetSurf uses memory to store images downloaded from the internet, while you are viewing them. It can store both compressed and uncompressed images in memory.

- -
-
-
Direct
-
This option can be used to set the maximum amount of memory NetSurf will use for storing uncompressed images. The more memory you allocate to this, the more images NetSurf will be able to hold in memory. Uncompressed images, held in memory can be displayed very quickly.
-
Automatic handling
-
This option can be used to tell NetSurf to make an intelligent guess at the best amount of memory to use for uncompressed images on your system. Generally, this option will work well for most users.
-
Compressed
-
This option can be used to set the maximum amount of memory NetSurf will use for storing compressed images. The more memory you allocate to this, the more images NetSurf will be able to hold in memory. Uncompressed images, held in memory, can be displayed quickly. When the "direct" and "compressed" memory is full, images can be dropped out of memory and stored on your hard disc. This is part of NetSurf's disc cache functionality and options for controlling this are provided in the cache configuration section.
-
Automatic handling
-
This option can be used to tell NetSurf to make an intelligent guess at the best amount of memory to use for compressed images on your system. Generally, this option will work well for most users.
-
-
- -

Security Configuration

- -

As the World Wide Web has grown in popularity, so too has the number of people who try to exploit its users for some nefarious end. Browser security and privacy features have become increasingly important.

- -
Cross-site privacy
- -

When you visit one page, after following a link on another page, a browser can tell the new page the address of the page that linked to them.

- -
-
-
Send site referral information
-
This option can be used to allow NetSurf to send referral information. When this option is disabled, NetSurf will not tell web sites the address of the page you came from. In most cases this should not cause any problems, but some sites do require you to send referral information. In these cases you might find images don't load or you get Forbidden messages from their server. On the other hand, if you do send referral information, web sites will be able to tell what web site you were at before you followed a link to their site. This allows them to find out what other sites are linking to them and is not usually any cause for distress.
-
-
- -
Site history
- -

NetSurf records all the web sites you have visited as part of its global history feature. Entries can be deleted from the global history window directly and NetSurf allows the length of time items are kept in global history to be configured.

- -
-
-
Duration
-
This option can be used to set the length of time entries are stored in global history, before they are deleted. Setting the duration to zero days turns off the global history feature.
-
-
- -

Theme Configuration

- -

The 'look and feel' of NetSurf's interface can be changed. This is done by installing and selecting themes.

- -
Available themes
- -

This section displays a preview of all the currently installed themes. New themes are available at the NetSurf themes page.

- -
-
-
Theme selection pane
-
This section can be used to select a theme. A theme is selected using the radio buttons. If a theme you have just installed does not appear for selection, NetSurf needs to be told to re-scan the themes directory. It is re-scanned when the choices window is opened or by adjust clicking on the Cancel button. The currently loaded theme is cached so any updates to that theme will not be loaded until NetSurf is restarted. Alternatively, it is possible to switch to another theme, re-scan themes and then switch back.
-
-
- -

Toolbar customisation

- -

Icons on NetSurf's toolbars can be switched on & off and moved around. The sprites used for the icons can be changed by installing different themes.

- -

To move the icons around, enable toolbar edit mode by clicking menu over the toolbar and choosing "Edit toolbar". This will open the toolbar editing panel. Icons can be dragged back and forth between the temporary panel and the toolbar. Separators for groups of icons can be created by dragging the separator sprite from the toolbar edit panel and dropping it where you want it to go. To exit toolbar edit mode, select "Edit toolbar" again from the toolbar menu.

- -

When you exit toolbar edit mode, the new toolbar layout is saved and new windows opened from then on will use your customised toolbar.

- -

Keyboard Shortcuts

- -

NetSurf supports keyboard shortcuts, which allow quick access to features and make NetSurf easier to use. The supported keypresses and corresponding functions are listed below.

- -

Content

- - - - - - - - - - - -
ShortcutFunction
Ctrl+NOpen the current page in a new window
Ctrl+F1Display information about the current page or content
F3Save the page source
Ctrl+F3Save the page as text
Shift+F3Full save of the web page, including images etc
Ctrl+Shift+F3Save the page as a Drawfile
F8View the page source code in a text editor
PrintOpen the print dialogue box
- -

Display

- - - - - - - - - - - - - - - -
ShortcutFunction
Page DownScroll down by one page
Page UpScroll up by one page
Cursor DownScroll down one line
Ctrl+Cursor DownGo to the bottom of the page
Cursor UpScroll up one line
Ctrl+Cursor UpGo to the top of the page
F11Open the scale view window
Ctrl+QReduce scale of view
Ctrl+WIncrease scale of view
Ctrl+Shift+QReduce scale of view by 10%
Ctrl+Shift+WIncrease scale of view by 10%
Shift+F11View box outlines. This may be useful if you are creating your own web page. Cyan marks the content's edge, magenta marks the padding's edge and yellow marks the margin's edge.
- -

Navigation

- - - - - - -
ShortcutFunction
F5Reload the current page
Ctrl+F5, Ctrl+RReload the current page and any images and style sheets that the page uses
EscStop the current page loading
- -

General

- - - - - - - - - -
F1Open the documentation contents page in a new window
F2Move the caret to URL bar and clear it to "www."
F4Open the text search window
F6Open the hotlist management window
F7Open the local history window
Ctrl+F7Open the global history window
Ctrl+F2Close the window
- - - - -
- - -
- -
- - - diff --git a/documentation/guide.html b/documentation/guide.html new file mode 100644 index 0000000..59dc3b1 --- /dev/null +++ b/documentation/guide.html @@ -0,0 +1,1516 @@ + + + +NetSurf | User Guide + + + + + + + + + +
+ + + +

Note that this document was written for the RISC OS version of NetSurf.

+ +

User Guide

+ + + +

Last updated 10 November 2007

+ +

Using NetSurf

+ +

To run NetSurf, simply double click on the NetSurf application. This will cause the NetSurf icon to appear on the iconbar. Select clicking on this icon will open a browser window. Adjust clicking on NetSurf's iconbar icon opens the hotlist management window.

+ +

Iconbar Menu

+ +

The iconbar menu contains options which concern the application as a whole.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Interactive Help

+ +

Instant on-line help is available throughout the software, in the form of interactive help. This offers quick help information, in bullet point format, about the item under the pointer.

+ +

To use interactive help, suitable software must be running. The program 'Help' is shipped with all RISC OS computers and it can be run from NetSurf's Help > Interactive help menu item.

+ +

Browser Window

+ +

The browser window is used to fetch and display web pages and other content available on the World Wide Web. It can also display files that are stored locally on your computer. The file types that NetSurf can handle include HTML, CSS and various image formats.

+ +

+ +

The area at the top of the browser window is called the toolbar. At the bottom, it can be seen that the horizontal scroll bar does not cover the full width of the window. Next to the horizontal scroll bar, is the status bar. The main section in the middle of the window is the most important part, the content area.

+ +

The content area displays web pages and other material, such as images. Web pages contain hyperlinks (often just called 'links') which can point to another part of the page, to a different page or to any other type of file. Links pointing to types of files that NetSurf doesn't recognise will open a download window. Placing the pointer over a link changes the pointer to a 'clicking hand', to indicate that the item can be clicked on.

+ +

Toolbar

+ +

The section at the top of the window is called the toolbar. It allows quick access to various commonly used features. Many more functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

+ +

+ +

Toolbar Icons

+ +

Back Clicking on this button makes NetSurf go back to the previous page in the local history list. Select click to view the previous page in the current window. Adjust click to view it in a new window. Form information is not resubmitted.

+ +

Forward Clicking on this button allows you to advance through the local history list. Select click to view the next page in the current window. Adjust click to view it in a new window. Form information is not resubmitted.

+ +

History Select clicking on this button opens a window containing the local history tree. Adjust clicking opens the global history window. More detailed information can be found in the History section.

+ +

Home Clicking on this button returns to the configured home page.

+ +

Hotlist Select clicking on this button opens the hotlist management window. Adjust clicking adds the current location to the hotlist.

+ +

Print Clicking on this button will open the print dialogue box.

+ +

reload Select clicking on this button will make NetSurf fetch and redraw the current page again. Adjust clicking forces NetSurf to fetch the current page as well as any objects it contains, such as images and style sheets.

+ +

Save Clicking on this button will open a save dialogue box, to allow you to save the page for future reference.

+ +

Scale Clicking on this button will open the scale view window. It allows you to scale documents, affecting both text and pictures.

+ +

Search Clicking on this button opens the find text window. It allows you to search for a string of text within a document.

+ +

Stop Clicking on this button stops whatever process the window is doing.

+ +

Up Clicking on this button moves up the directory tree. For example, if you are looking at http://www.domain.com/directory/page.html, clicking on the up icon takes you to http://www.domain.com/directory/ and a further click would result in a location of http://www.domain.com/.

+ +

Icons that are greyed out indicate that their function is unavailable. This happens when a new browser window is first opened. Since the window will be displaying its first page, there would be no previous page and the back button is greyed out. Also, as this is the first page, the forward button is also greyed out.

+ +

Throbber: This NetSurf logo animates while a page is downloading or rendering. It indicates that NetSurf is doing something.

+ +

URL Bar

+ +

The white writable icon on the toolbar is called the URL Bar and it shows the location of the current page. Here, you can enter the address of the page you want to view next. Text files dropped onto the URL bar are treated as URLs.

+ +

Next to the URL bar is a pop-up menu button which opens a list of URLs previously typed into the URL bar. Clicking on one of the URLs opens the page.

+ +

The current URL can be dragged from the URL bar to be saved or dropped onto other applications. A Ctrl drag saves the URL in Text format and a Shift drag saves it in ANT URL format. Systems that don't support text selection in writable icons (i.e. non RISC OS Select systems) allow the URL to be dragged out in Text format without the use of either Ctrl or Shift.

+ +

URL Completion

+ +

When typing into the URL bar, NetSurf opens a window below displaying suggestions for the full address. If the address you want is not shown, the box can be ignored. If the intended address is shown, select clicking on it will complete the address and open the page automatically. An adjust click on a URL copies it into the URL but does not load the page. The Up and Down cursor keys can be used to select an address from the list and the Return key opens the page. Escape closes the URL completion window. The function of other keys in the URL bar, such as the Left and Right cursor keys, is unaffected by this feature.

+ +

Status Bar

+ +

The status bar, at the bottom of the window, displays information to the user. When you move the pointer over a link, the status bar will display the URL that the link points to. The status bar also displays information about NetSurf's progress while retrieving a page.

+ +

Between the status bar and the horizontal scroll bar is the status bar resizer. Over this widget, the pointer changes to a double headed arrow and you can drag the status bar resizer to set the width of the status bar.

+ +

Content Area

+ +

The content area is the main part of the browser window; it displays documents and images. Various types of action can be performed in the content area, including:

+ + + +

Some operations, such as a dragging and clicking will behave differently depending on the content over which the action is carried out. For example, dragging over text initiates text selection whereas dragging over non-textual content will drag-scroll the page.

+ +

Further options are available through the menu, some of which are only available when menu is clicked over certain types of content. For example the Object submenu is available only when menu is clicked over an object, such as an image.

+ +

Text Selection

+ +

Textual content on pages can be selected and copied. Text in text areas can be selected and then cut or copied to the global clipboard. The global clipboard contents can also be pasted into text areas.

+ +
    +
  • Select click clears previous selections.
  • +
  • Select drag over text clears previous selection and creates new selection.
  • +
  • Adjust click adds to selection. If Adjust was clicked outside the selection the nearest end of the selection is moved to where adjust was clicked. If Adjust was clicked inside the current selection, the second (last) end of the selection is moved to where Adjust was clicked. If Adjust is clicked on a link, the selection is not modified and link handling behaviour is followed.
  • +
  • Adjust drag over text dynamically does the same as repeatedly doing an Adjust click as you move the mouse, except, Adjust drag over links modifies the selection and does not follow the link.
  • +
+ +

Ctrl+C copies selected text to the global clipboard. Ctrl+A selects all text, while Ctrl+Z clears the selection.

+ +

Drag Scrolling

+ +

The page can be scrolled by dragging non-textual areas up and down. During a drag scroll action, the pointer changes to a hand.

+ +
    +
  • Select drag on any non textual area of the page (except plugin areas and overflow: scroll scrollbars) drags the page.
  • +
  • Adjust drag on any part of the page, including text, provided there is no selection drags the page. Page drag scrolling is not possible over plugin areas or scrollbars, such as those for text areas or overflow: scroll.
  • +
+ +

Link Handling

+ + + +
    +
  • Select click on a link follows the link in current window.
  • +
  • Adjust click on a link opens the link in new window.
  • +
  • Shift+Select click on a link opens a download dialogue box for the link target.
  • +
  • Shift+Adjust click on a link opens a save box for saving link the target address as a URL file.
  • + +
+ +

Drag Saving

+ +

Content can be dragged directly from the page to a filer window with the Ctrl key.

+ +
    +
  • Ctrl+Select drag saves the item under the pointer to a filer window or another application. The item is saved in its original format.
  • +
  • Ctrl+Adjust drag saves the item under the pointer to a filer window or another application. Generally it saves it in the most applicable RISC OS format.
  • +
+ +

Different items are treated as follows.

+ +
    +
  • If the content drag save is initiated on a bitmap image, it is saved in its original format with Select. With Adjust it is saved as a sprite.
  • + +
  • If the content drag save is initiated on a text selection, it is saved as text, whether it comes from an HTML page, CSS file or whatever. Select / Adjust usage makes no difference.
  • +
  • If the content drag save is initiated on a part of a web page that is neither image or selection, the page is saved as a "full save" with Select. With Adjust, the HTML is saved only.
  • + +
  • text/plain is always saved as text.
  • +
+ + + +

Form Completion

+ +

Forms allow information to be entered and submitted to an agent such as a web server or mail server. Some form controls can be styled by web pages, so they may look quite different from one page to the next. Some common form controls are described below.

+ +
+
Buttons
+
Buttons trigger some action when selected. Common button actions are to submit or reset the form.
+ +
Checkboxes
+
Checkboxes are on/off switches that can be toggled. Checkboxes containing a red square are "on".
+ +
Radio Buttons
+
Radio buttons are like checkboxes except that groups of radio buttons are mutually exclusive: when one is switched "on", all others with the same name are switched "off". Radio buttons containing a red circle are "on".
+ +
Selection Menus
+
Selection menus open a menu, from which an item, or in some cases several items, can be selected. Selected items are displayed with a tick (✓) next to them. The pointer changes to indicate a pop-up menu is available over selection menu controls.
+ +
TextInput
+
A text input allows a single line of text to be entered and edited. Pressing Return in a text input will submit the form.
+ +
File Input
+
File inputs say "Drop file here" and allow local files to be submitted. Dragging a file to them sets the path to the file.
+ +
Text Area
+
Text areas are similar to text inputs but they allow multiple lines to be edited. Pressing Return in a text area moves the caret to the next line.
+
+ +

Tab can be used to move the caret to the next text input or text area control. Shift+Tab moves input focus back to the previous text box.

+ +

Menus

+ +

The browser window menu contains options relating to the content of the current window. Some of these options are unavailable at present as this area of NetSurf is not complete. The following options are available:

+ + + + + + + + + + + + + + +

The Page submenu contains the following options relevant to the current page.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The Object submenu contains the following options relevant to the current object. This submenu is only available when the pointer is placed over an object such as a link or an image.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The selection submenu contains the following options, for manipulating the current selection and performing clipboard actions.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The Navigate submenu contains the following options, useful for navigating the web.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The Display submenu contains the various options which affect the rendering of the current window. Other configuration options are described in the configuration section.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

If the buttons, URL bar and throbber are all disabled, the toolbar at the top of the window is removed, leaving more space for the main content area.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The Utilities submenu allows you to access some of NetSurf's extra features.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The Help submenu contains options for fast access to help and information while you're using NetSurf.

+ + + + + + + + + + + + + + + + + + + + + + + + + +

File Types

+ +

When NetSurf encounters a file type it does not recognise, it opens a download window to allow the file to be saved to disc. (Note, NetSurf ignores local files of unrecognised file types.) The file types that NetSurf understands are listed below, with their RISC OS file type and MIME type(s) .

+ + + + + + + + + + + + + + + + + + +
NameTypeMIME type(s)
Acorn URI&f91N/A
ANT URL&b28N/A
CSS&f79text/css
Drawfile&affapplication/drawfile
application/x-drawfile
image/drawfile
image/x-drawfile
Flash&188application/x-shockwave-flash
GIF&695image/gif
HTML&faftext/html
IEURL&1baN/A
JNG&f78image/jng
image/x-jng
JPEG&c85image/jpeg
image/pjpeg
MNG&f83image/mng
image/x-mng
video/mng
video/x-mng
NetSurf ThemeN/Aapplication/x-netsurf-theme
PNG&b60image/png
Sprite&ff9image/x-riscos-sprite
Text&ffftext/plain
+ +

Flash files are not handled by NetSurf directly but are displayed by an external plugin.

+ +

NetSurf recognises different file types by their RISC OS file type for local files and by their content-type header for files sourced from the internet. Files are not identified by their extension or content. This means that for a file to be displayed, servers must be configured to send the correct content-type header and local files must have the correct RISC OS file type set.

+ +

Download Window

+ +

Whenever you follow a link to a file that NetSurf doesn't know how to handle, NetSurf opens the download window. This allows you to save a local copy of the file. The download window is shown below.

+ +

+ +

As soon as the download window opens, NetSurf starts downloading the file to your Scrap directory. At any time, either as the file downloads or after it has finished, it is possible drag the file icon at the top of the window to the directory where you wish to keep the file. This action causes the file to be moved to your desired location from Scrap and if the download is incomplete, the remainder of the file will also go to the new location.

+ +

The Source field indicates the location of the file being downloaded.

+ +

Initially, the Destination field allows the local filename of the file being downloaded to be set. Once the local destination of the file has been set, by dragging the icon to a filer window, the local path is shown here. Clicking on it will open the associated directory.

+ +

The bottom part of the download window displays information about the download's progress. On the left, the amount already downloaded and the total size are displayed. In the middle, the download speed is indicated and that the right, and estimated time remaining is shown. A beige progress bar indicates the download's progress visually.

+ +

History

+ +

While browsing the World Wide Web, you may come across interesting pages and some time later, you may wish to return to them. NetSurf's history stores the addresses (URLs) of the web pages you visit so that you can return to a page without having to remember the URL or how you first came across it.

+ +

NetSurf supports two distinct types of history; local and global. Local history contains only the pages that are visited in any particular window. Global history contains all the pages that have been visited in NetSurf and is remembered when NetSurf is restarted.

+ +

Local History Window

+ +

NetSurf's local history window provides a diagrammatical overview of the browsing history of a particular window. Each web page that is visited is represented by a thumbnail in a tree diagram. Beneath each thumbnail the page title is shown. Clicking on a thumbnail will cause the NetSurf browser window to return to that particular page.

+ +

Global History Window

+ +

NetSurf's global history stores the addresses (URLs) of all the web pages you visit. To open the global history window, you can adjust click on the history toolbar button on a browser window, use the browser window menu option or use the iconbar menu. The global history is made up from "addresses" and "directories".

+ +

An address consists of a name and a URL. Addresses in the global history can point to any kind of file and double clicking on one will launch the URL in NetSurf. Addresses also store the date the URL was visited. By default, addresses are listed in the order they were visited and they are grouped by date within directories.

+ +

Directories store groups of addresses. In the default global history view, there are directories for each day up to the beginning of last week and further directories for previous weeks. The global history is expired after a maximum of four weeks.

+ +

The global history display works in a similar way to a filer window, although there are some important differences. Directories are not opened in new windows. Instead, the whole of the history is displayed in one window and directories represented by branches in a tree diagram. Double clicking on a closed directory will open it, displaying its contents as a new branch. Double clicking on an open directory will close it. When addresses are double clicked on, their URL is launched by NetSurf.

+ +

Next to the address and directory icons there are toggle boxes, which can be used to expand and collapse branches in the history tree. Clicking on the branch toggle boxes next to directories has exactly the same effect as double clicking on a directory. Expanding an address with the branch toggle box displays the other information it contains. (The URL and the time it was visited.) The space bar can also be used to expand or collapse selected addresses.

+ +

As with filer windows, selections can be made by dragging selection boxes and adjust clicking can be used to add or remove items from the selection.

+ +

Toolbar

+ +

The global history toolbar allows quick access to various commonly used features. More functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

+ +

Delete Selection Clicking on this button deletes any selected directories or addresses from the global history.

+ +

Expand Addresses Select clicking on this button expands any addresses that are being shown, to display additional information about each one. Adjust clicking hides the additional information for any expanded addresses.

+ +

Launch Selection Clicking on this button launches all selected addresses in separate browser windows. If a directory is selected any addresses it contains will be launched.

+ +

Open Directories Select clicking on this button opens every directory in the global history. Adjust clicking closes any open directories.

+ +

Menus

+ +

The global history menu contains options which allow you to manage the content of your global history. The options available are:

+ + + + + + + + + + + +

The History submenu contains the following options which apply to the global history window in general.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The selection submenu, which is only available when a selection has been made in the global history window, contains the following options.

+ + + + + + + + + + + + + + + + + + + +

Hotlist Management Window

+ +

While browsing the World Wide Web, you may come across pages that you wish to return to. NetSurf's hotlist provides a convenient way of storing these addresses (URLs) so that you can return to the page without having to remember the URL or how you first came across the page. To open the hotlist management window, you can adjust click on NetSurf's iconbar icon or select click on the Hotlist toolbar button in a browser window. Hotlists are made up from "addresses" and "directories". There can be as many of each of these as you like.

+ +

An address consists of a name and a URL. Hotlist addresses can point to any kind of file and double clicking on one will launch the URL in NetSurf. The name can be anything but, for web pages, it is set to the page title by default. The simplest way to add an address to the hotlist is to adjust click on the Hotlist toolbar button in a browser window. This adds the URL of the current page to the hotlist. Additionally, files on your hard disc can be added by dragging them to the hotlist from a filer window. Addresses also store other usage information, such as the date the address was added to the hotlist, when it was last visited and how many times it has been visited in total.

+ +

Directories are used to group related addresses to allow for easy location of the address you want. They can be nested and contain a mixture of addresses and other directories.

+ +

The hotlist display works in a similar way to a filer window, although there are some important differences. Directories are not opened in new windows. Instead, the whole hotlist is displayed in one window and directories represented by branches in a tree diagram. Double clicking on a closed directory will open it, displaying its contents as a new branch. Double clicking on an open directory will close it. When addresses are double clicked on, their URL is launched by NetSurf.

+ +

Next to the address and directory icons there are toggle boxes, which can be used to expand and collapse branches in the hotlist tree. Clicking on the branch toggle boxes next to directories has exactly the same effect as double clicking on a directory. Expanding an address with the branch toggle box displays the other information it contains, such as the URL and its usage statistics. The space bar can also be used to expand or collapse selected addresses.

+ +

As with filer windows, selections can be made by dragging selection boxes and adjust clicking can be used to add or remove items from the selection. Selections can then be dragged and dropped within the hotlist management window to move them around. It is possible to drop a selection into a closed directory by releasing it over the bottom half of the target directory. Dropping the selection over the top half of a directory or address will insert the selection above that item. Finally, dropping a selection over the lower half of an address will move it below the address.

+ +

Renaming of addresses and directories can by achieved by clicking on an item with the Alt key held down. The URLs within expanded address entries can also be altered in this way. Selected items can be deleted from the toolbar, menus or with Ctrl+X

+ +

NetSurf's hotlist is stored as an HTML file which can be found in Choices:WWW.NetSurf. This means the hotlist file can be loaded into a NetSurf browser window and used as a links page or set to your default home page. The hotlist file is saved when you quit NetSurf.

+ +

Toolbar

+ +

The hotlist toolbar allows quick access to various commonly used features. More functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

+ +

Toolbar Icons

+ +

Create Directory Clicking on this button adds a new directory to the bottom of the hotlist. The cursor is placed at the name of the new directory. Either type Ctrl-U and rename it or press Return to accept the default name.

+ +

Delete Selection Clicking on this button deletes any selected directories or addresses from the hotlist.

+ +

Expand Addresses Select clicking on this button expands any addresses that are being shown, to display additional information about each one. Adjust clicking hides the additional information for any expanded addresses.

+ +

Launch Selection Clicking on this button launches all selected addresses in separate browser windows. If a directory is selected any addresses it contains will be launched.

+ +

Open Directories Select clicking on this button opens every directory in the hotlist. Adjust clicking closes any open directories.

+ +

Icons that are greyed out indicate that their function is unavailable.

+ +

Menus

+ +

The hotlist menu contains options which allow you to manage the content of your hotlist. The options available are:

+ + + + + + + + + + + +

The Hotlist submenu contains the following options which apply to the hotlist in general.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

The selection submenu, which is only available when a selection has been made in the hotlist management window, contains the following options.

+ + + + + + + + + + + +

Addresses added to the hotlist from a NetSurf browser window have a default name set. For HTML files, this is the page title.

+ + + + + + + + + + + + + +

Configuring NetSurf

+ +

NetSurf can be tailored to suit your needs by configuring the way it looks and behaves. Most of NetSurf's configuration options are available from the global choices panel. Display options for browser windows are set up for an individual browser window and then saved globally in the browser window menus.

+ +

Toolbars can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section.

+ +

Global Configuration

+ +

The configuration panel is opened from the iconbar menu.

+ +
+ + +

NetSurf's global configuration sections

+
+ +

Clicking on one of the section icons will open a new configuration window, allowing you to set up that particular aspect of NetSurf.

+ +

All of NetSurf's configuration section windows have the following three buttons at the bottom.

+ +
+
+
Default
+
This button can be used to reset NetSurf's options, for the current configuration window, to the original values that are built into NetSurf. Use this button if you think that you have configured something wrongly and want to try the "factory settings".
+
Cancel
+
Select clicking on this button will close the window. Any changes you have made will be discarded.
Adjust clicking on this button will return all the options in the window back to the last saved values, that were shown when you opened the window.
+
Set
+
Select clicking on this button will save your changes and close the window.
Adjust clicking on this button will save your changes and leave the window open.
+
+
+ +

Cache Configuration

+ +

NetSurf keeps local copies of some content, which has been downloaded from the internet. This local copy of downloaded data is called a cache and it improves NetSurf's performance. The cache is used so that if, for example, you visit a page that contains an image and then go to another page that uses the same image, NetSurf will not need to download the same image twice.

+ +

NetSurf has two separate caches, the memory cache and the disc cache.

+ +
Memory cache
+ +

The memory cache is used to store data related to the most recent pages you have seen. Since this data is stored in memory, it can be accessed very quickly. The memory cache is not preserved over sessions, and is lost when you quit NetSurf.

+ +
+
+
Size
+
This option can be used to alter the size of NetSurf's memory cache. A larger cache will allow more content to be stored in memory, at the expense of greater memory usage.
+
+
+ +
Disc cache
+ +

The disc cache is used to store content from web sites on your computer's hard disc. This allows you to return to old pages without having to download them again. The disc cache also stores other persistent data (data that is recovered next time you start NetSurf). It stores web page thumbnails for showing in global history.

+ +
+
+
Duration
+
This option can be used to alter the maximum length of time data will stay in the disc cache, without being used, before it is dropped from the cache. Note that files are not automatically deleted from your hard disc when they are dropped from the cache. Files in the cache are each assigned a file name. When the file is dropped from the cache its file name is freed up, so that a new file to be written to the cache can overwrite it. NetSurf does not automatically delete dropped files for performance reasons and to keep hard disc usage to a minimum. To manually delete dropped files, use the "perform maintenance button below.
+
Perform maintenance
+
This button can be used to delete any redundant files from NetSurf's disc cache.
+
+
+ +

At the current time the disc cache is not fully operational. It is only used for storing images.

+ +

Connection Configuration

+ +

NetSurf accesses the internet by contacting remote computers. The options here can be used to configure how it does this.

+ +
HTTP Proxy
+ +

Some computers need to be connected to the internet through a proxy server. If your Internet Service Provider has a proxy server, the details can be entered here.

+ +
+
+
Proxy type
+
This option can be used to select a proxy type. "No proxy" means you do not require a proxy to connect to the internet. "Simple proxy" means use a proxy that does not require authentication (a username and password). "Basic authentication" means use a proxy that requires a username and password. "NTLM authentication" also means use a proxy that requires a username and password. Consult your ISP to find out which option to use. If a proxy is required, "Simple proxy" is the most common type.
+
Host
+
This option can be used to set the host name for the proxy server. This option will be greyed out if "No proxy" has been selected above.
+
Port
+
This option can be used to set the port number for the proxy server. This option will be greyed out if "No proxy" has been selected above.
+
Username
+
This option can be used to set a username for use with the proxy server. This option will be greyed out unless a proxy with authentication has been selected for the proxy type.
+
Password
+
This option can be used to set a password for use with the proxy server. This option will be greyed out unless a proxy with authentication has been selected for the proxy type.
+
+
+ +
Fetching
+ +

The way NetSurf fetches content from the internet can be tailored to suit your hardware and the speed of your internet connection. These are quite advanced configuration options and should not need to be modified, in most cases.

+ +
+
+
Maximum fetches
+
This option can be used to set the maximum number of simultaneous fetches (downloading multiple things in parallel) that NetSurf will carry out at one time. After this limit is reached, new fetches will be queued and fetched as the current fetches are completed. High values will benefit people with fast connections and fast computers, that are able to keep up with all the incoming data.
+
Fetches per host
+
This option can be used to set the maximum number of simultaneous fetches per host. This means the limit to the number of simultaneous downloads from a particular web site. Simultaneous downloads from the same host can speed up fetching web pages quite dramatically because images on the page can be fetched in parallel, rather than in series.
+
Cached connections
+
This option can be used to set the maximum number of persistent connections that NetSurf can maintain at any one time. Persistent connections, or "Keep-Alive" connections are HTTP sessions that allow multiple requests to be sent over the same connection. In some cases they have been shown to result in an almost 50% speed up in latency times for HTML documents with lots of images.
+
+
+ +

Content Configuration

+ +

Content is the name given to material downloaded from the World Wide Web. It can be web pages, images, animations and more.

+ +
Content blocking
+ +

NetSurf can prevent certain types of content from loading and stop pages from performing certain actions.

+ +
+
+
Hide advertisements
+
This option can be used to stop NetSurf from displaying advertisements on web pages. This can be useful for pages which contain distracting or obtrusive adverts. Note that NetSurf can only make an educated guess at which content is an advert and which is not. This can mean that some adverts will be fail to be blocked, or more seriously, when advertisement blocking is enabled some valid content may occasionally be blocked.
+
Disable pop-up windows
+
This option can be used to stop web pages from opening new browser windows on your desktop. Some pages may try to open advertisements in new windows, when you visit the page, or open some links in pop-up windows, instead of the current window. Disabling pop-ups means that the only way a new window can be opened is when a user explicitly opens it.
+
Disable plug-ins
+
This option can be used to disable plug-ins. Plug-ins are external applications that can handle specific types of content, for example Flash files. This option disables the use of plug-ins, meaning that NetSurf will simply not display the particular file, or use any alternative content provided by a web page.
+
+
+ +

Font Configuration

+ +

Most content and information on the World Wide Web is text. It is important to set NetSurf up so that it displays text that you find comfortable to read.

+ +
Font faces
+ +

You can set which specific font on your system that you want NetSurf to use for each of the five styles of typeface that are available for use on the World Wide Web.

+ +
+
+
Sans-serif
+
This option can be used to select a particular sans-serif font on your system. It will be used whenever a web page specifies a sans-serif typeface. Helvetica (Homerton) is an example of a sans-serif font.
+
Serif
+
This option can be used to select a particular serif font on your system. It will be used whenever a web page specifies a serif typeface. Times (Trinity) is an example of a serif font.
+
Monospace
+
This option can be used to select a particular monospace font on your system. It will be used whenever a web page specifies a monospace typeface. Courier (Corpus) is an example of a monospace font.
+
Cursive
+
This option can be used to select a particular cursive font on your system. It will be used whenever a web page specifies a cursive typeface. ZapfChancery (Churchill) is an example of a cursive font.
+
Fantasy
+
This option can be used to select a particular fantasy font on your system. It will be used whenever a web page specifies a fantasy typeface. There is no particular style of font associated with fantasy, so any fancy looking but readable font would be apt and suitable.
+
Default
+
This option can be used to set the default font style. It is used when web pages do not specify a font face of their own. Sans-serif and serif are the most typical options for this setting.
+
+
+ +
Font size
+ +

The size of text used to render web pages can be controlled with the following options. It is important to ensure that the text NetSurf renders is at a size you find comfortable to read.

+ +
+
+
Default
+
This option can be used to set the default font size. The default font size is the size at which text will be rendered whenever web pages do not specify a size. It is also the base size that is used where web sites specify relative font sizes.
+
Minimum
+
This option can be used to set the minimum font size. No text will be rendered smaller than this size, even if a web site specifies a smaller size. This option is used to ensure that web pages are never rendered with smaller text than you find easy to read.
+
+
+ +

Home Page Configuration

+ +

The home page is the page that is opened when you open a new window from the icon bar.

+ +
Home page
+ +
+
+
URL
+
This option can be used to set NetSurf's home page address. Any address can be typed into the box, or an address can be selected from a menu of recently visited URLs. These URLs are addresses that have previously been typed into the URL bar of a NetSurf browser window.
+
Open browser window on start-up
+
This option can be used to make NetSurf open a new browser window on the desktop, when the application is started.
+
+
+ +

Image Configuration

+ +

A great deal of content on the internet is in the form of images. NetSurf allows the display of images to be tailored to suit the hardware you use.

+ +
Image quality
+ +

NetSurf can use various different methods to display images on web pages. If you are using NetSurf in a 16 million colour screen mode, all the options will perform the same. If you use less than 16 million colours then there is a trade-off between image quality and rendering speed. The exception to this is the "Use OS" option, which will never display images with alpha channels (varying degrees of transparency) as well as any of the other options. The four image quality settings are described below.

+ +
+
Use OS
+
This means that RISC OS's routines (OS_SpriteOp) are used to display images. This option results in poor quality (especially so for images with alpha channels as the alpha channel is emulated using standard calls) and also poor speed. This option is not recommended unless you are having problems with the other options.
+
Direct to screen
+
This is the fastest available output, but suffers the same low quality as using the OS routines in less than 16 million colours. However, this option can render images with alpha channels correctly. If you are on a slow machine you may want to use this for background images.
+
Dithered
+
This is a quick method for improving the display of images in screen modes with less than 16 million colours. It emulates twice as many colours as are available in the current screen mode (for less than 16 million colours). It gives a fair increase in display quality for many images and you won't notice much speed loss. If you're on a slow machine you will probably find this best for foreground images.
+
Error diffused
+
This is another method for improving the display of images in screen modes with less than 16 million colours. It is slower than dithering but offers the highest quality representation of images. If you run in an 8bpp (256 colour) screen mode then this is as aesthetically pleasing as you can get. As it is slower than the other options, you may only want to use it for foreground images, even on a medium powered machine (such as a SA RiscPC).
+
+ +

Note that if you are using a 16 million colour mode then neither error diffusion or dithering will be used, even if one of these options is selected. This is because all possible colours can be displayed directly. Naturally, use of a 16 million colour million colour screen mode gives the best possible display, if you have the image quality setting set to "Direct to screen", "Dithered" and "Error diffused". If you use 16 million colours and have a fast machine, it is best to use "Error diffused", so that if you ever drop to a low colour screen mode you still get the best available image quality.

+ +
+
+
Foreground
+
This option can be used to set the type of rendering to be used for foreground images. Since foreground images are often important features of web pages and cover relatively small areas, it is worth setting this setting as high as you can get away with on your hardware. For details on what each of the options actually does, see the notes above.
+
Background
+
This option can be used to set the type of rendering to be used for background images. Since background images are rarely vital features of web pages and can cover large areas, it would be wise to set this setting to a lower quality than for foreground images, if you are not running NetSurf on one of the latest machines. For details on what each of the options actually does, see the notes above.
+
Preview image
+
This section shows the results of your image quality choices on the visual appearance of images. In 16 million colour screen modes, the "Direct to screen", "Dithered" and "Error diffused" will look the same. If the "Use OS" option is used for the foreground image, the preview will demonstrate the poor handling of alpha channels that this mode exhibits. In 256 colour modes, the differences between the different quality settings should be quite pronounced.
+
+
+ +
Animations
+ +

Some web pages use animations, which are a series of still images played in sequence.

+ +
+
+
Speed limit
+
This option can be used to set the minimum time delay between displaying each frame of an animation. Increasing this value will cause animations to run slower. Fast animations require a lot of computational effort, so a very low setting can cause your computer to slow down when rapid animations are displayed.
+
Disable animations
+
This option can be used to stop animations from being played. If animations are disabled then the first frame of the animation is shown as a static image.
+
+
+ +

Interface Configuration

+ +

The way NetSurf interacts with its users is called its interface. Various aspects of NetSurf's behaviour can be tailored to suit your requirements.

+ +
Downloading / saving files
+ +

You can use NetSurf to save content from the internet onto your local hard disc.

+ +
+
+
Strip filename extensions when saving
+
This option can be used to remove the file extensions (eg .html and .jpeg) from file names. The extensions are not needed on RISC OS as it records the file type by other means. You may want to retain file extensions if you plan to transfer saved files to other computers, running different operating systems.
+
Request confirmation before overwriting files
+
This option can be used to make NetSurf to ask for confirmation before overwriting a file of the same name, when saving. Please note that NetSurf does not allow directories to be overwritten. Also note that SparkFS causes zip files and other archives to be treated as directories.
+
+
+ +
Interactive features
+ +

NetSurf has various features that can provide information and additional functionality as you use or interact with the program.

+ +
+
+
Display recently visited URLs as you type
+
This option can be used to enable NetSurf's URL suggestion feature. When this is enabled and you type into the URL bar of a NetSurf browser window, then a small window is opened up below the URL bar, which shows previously visited URLs that could be used to complete the URL you're typing. For more information, see the URL completion section.
+
Hover URLs by the pointer for local history
+
This option can be used to make NetSurf display the URL of the thumbnail under your mouse pointer in local history windows. The URL is displayed in a floating box, beside the pointer.
+
+
+ +

Language Configuration

+ +

NetSurf has been designed to work in different languages and you can select the one that you find most suitable.

+ +
Language
+ +
+
+
Interface
+
This option can be used to select the language to use for NetSurf's interface. This includes menus, dialogue boxes and interactive help text. The only available languages are those that have had resources prepared for them. At the current time, these are English, Dutch, French and German.
+
Web pages
+
This option can be used to request for web pages to be sent in your preferred language. Some web sites are available in a variety of languages. NetSurf will request that web servers send pages in the language of your choice. If your desired language is unavailable, the server will ignore the request and use a default language.
+
+
+ +

Memory Configuration

+ +

NetSurf provides you with a certain amount of control over how it uses the memory on your system. The way you set up NetSurf's memory usage will depend on how much memory your system has and how many other applications you tend to have running while browsing the World Wide Web.

+ +
Image memory
+ +

NetSurf uses memory to store images downloaded from the internet, while you are viewing them. It can store both compressed and uncompressed images in memory.

+ +
+
+
Direct
+
This option can be used to set the maximum amount of memory NetSurf will use for storing uncompressed images. The more memory you allocate to this, the more images NetSurf will be able to hold in memory. Uncompressed images, held in memory can be displayed very quickly.
+
Automatic handling
+
This option can be used to tell NetSurf to make an intelligent guess at the best amount of memory to use for uncompressed images on your system. Generally, this option will work well for most users.
+
Compressed
+
This option can be used to set the maximum amount of memory NetSurf will use for storing compressed images. The more memory you allocate to this, the more images NetSurf will be able to hold in memory. Uncompressed images, held in memory, can be displayed quickly. When the "direct" and "compressed" memory is full, images can be dropped out of memory and stored on your hard disc. This is part of NetSurf's disc cache functionality and options for controlling this are provided in the cache configuration section.
+
Automatic handling
+
This option can be used to tell NetSurf to make an intelligent guess at the best amount of memory to use for compressed images on your system. Generally, this option will work well for most users.
+
+
+ +

Security Configuration

+ +

As the World Wide Web has grown in popularity, so too has the number of people who try to exploit its users for some nefarious end. Browser security and privacy features have become increasingly important.

+ +
Cross-site privacy
+ +

When you visit one page, after following a link on another page, a browser can tell the new page the address of the page that linked to them.

+ +
+
+
Send site referral information
+
This option can be used to allow NetSurf to send referral information. When this option is disabled, NetSurf will not tell web sites the address of the page you came from. In most cases this should not cause any problems, but some sites do require you to send referral information. In these cases you might find images don't load or you get Forbidden messages from their server. On the other hand, if you do send referral information, web sites will be able to tell what web site you were at before you followed a link to their site. This allows them to find out what other sites are linking to them and is not usually any cause for distress.
+
+
+ +
Site history
+ +

NetSurf records all the web sites you have visited as part of its global history feature. Entries can be deleted from the global history window directly and NetSurf allows the length of time items are kept in global history to be configured.

+ +
+
+
Duration
+
This option can be used to set the length of time entries are stored in global history, before they are deleted. Setting the duration to zero days turns off the global history feature.
+
+
+ +

Theme Configuration

+ +

The 'look and feel' of NetSurf's interface can be changed. This is done by installing and selecting themes.

+ +
Available themes
+ +

This section displays a preview of all the currently installed themes. New themes are available at the NetSurf themes page.

+ +
+
+
Theme selection pane
+
This section can be used to select a theme. A theme is selected using the radio buttons. If a theme you have just installed does not appear for selection, NetSurf needs to be told to re-scan the themes directory. It is re-scanned when the choices window is opened or by adjust clicking on the Cancel button. The currently loaded theme is cached so any updates to that theme will not be loaded until NetSurf is restarted. Alternatively, it is possible to switch to another theme, re-scan themes and then switch back.
+
+
+ +

Toolbar customisation

+ +

Icons on NetSurf's toolbars can be switched on & off and moved around. The sprites used for the icons can be changed by installing different themes.

+ +

To move the icons around, enable toolbar edit mode by clicking menu over the toolbar and choosing "Edit toolbar". This will open the toolbar editing panel. Icons can be dragged back and forth between the temporary panel and the toolbar. Separators for groups of icons can be created by dragging the separator sprite from the toolbar edit panel and dropping it where you want it to go. To exit toolbar edit mode, select "Edit toolbar" again from the toolbar menu.

+ +

When you exit toolbar edit mode, the new toolbar layout is saved and new windows opened from then on will use your customised toolbar.

+ +

Keyboard Shortcuts

+ +

NetSurf supports keyboard shortcuts, which allow quick access to features and make NetSurf easier to use. The supported keypresses and corresponding functions are listed below.

+ +

Content

+ + + + + + + + + + + +
ShortcutFunction
Ctrl+NOpen the current page in a new window
Ctrl+F1Display information about the current page or content
F3Save the page source
Ctrl+F3Save the page as text
Shift+F3Full save of the web page, including images etc
Ctrl+Shift+F3Save the page as a Drawfile
F8View the page source code in a text editor
PrintOpen the print dialogue box
+ +

Display

+ + + + + + + + + + + + + + + +
ShortcutFunction
Page DownScroll down by one page
Page UpScroll up by one page
Cursor DownScroll down one line
Ctrl+Cursor DownGo to the bottom of the page
Cursor UpScroll up one line
Ctrl+Cursor UpGo to the top of the page
F11Open the scale view window
Ctrl+QReduce scale of view
Ctrl+WIncrease scale of view
Ctrl+Shift+QReduce scale of view by 10%
Ctrl+Shift+WIncrease scale of view by 10%
Shift+F11View box outlines. This may be useful if you are creating your own web page. Cyan marks the content's edge, magenta marks the padding's edge and yellow marks the margin's edge.
+ +

Navigation

+ + + + + + +
ShortcutFunction
F5Reload the current page
Ctrl+F5, Ctrl+RReload the current page and any images and style sheets that the page uses
EscStop the current page loading
+ +

General

+ + + + + + + + + +
F1Open the documentation contents page in a new window
F2Move the caret to URL bar and clear it to "www."
F4Open the text search window
F6Open the hotlist management window
F7Open the local history window
Ctrl+F7Open the global history window
Ctrl+F2Close the window
+ + + + +
+ + +
+ +
+ + + diff --git a/documentation/index.en b/documentation/index.en deleted file mode 100644 index 36cdb9d..0000000 --- a/documentation/index.en +++ /dev/null @@ -1,205 +0,0 @@ - - - -NetSurf | Documentation - - - - - - - - - -
- - - -

Documentation

- -

This page provides an overview of NetSurf's documentation. The documentation is split into sections, as follows:

- - - -

Last updated 2 January 2007

- -

General documentation

- - - -

User documentation

- - - -

Contributor documentation

- - - -

Developer documentation

- - - - - - -
- - -
- -
- - - diff --git a/documentation/index.html b/documentation/index.html new file mode 100644 index 0000000..36cdb9d --- /dev/null +++ b/documentation/index.html @@ -0,0 +1,205 @@ + + + +NetSurf | Documentation + + + + + + + + + +
+ + + +

Documentation

+ +

This page provides an overview of NetSurf's documentation. The documentation is split into sections, as follows:

+ + + +

Last updated 2 January 2007

+ +

General documentation

+ + + +

User documentation

+ + + +

Contributor documentation

+ + + +

Developer documentation

+ + + + + + +
+ + +
+ +
+ + + diff --git a/documentation/info.en b/documentation/info.en deleted file mode 100644 index f433061..0000000 --- a/documentation/info.en +++ /dev/null @@ -1,140 +0,0 @@ - - - -NetSurf | User Information - - - - - - - - - -
- - - -

User Information

- -

This page is is relevant to all users of NetSurf. RISC OS users can also check the RISC OS user information further information on the RISC OS version of NetSurf.

- - - -

Last updated 2 January 2008

- -

Getting NetSurf

- -

There are two versions of NetSurf available:

- -
-
Stable releases
-
These are recommended for most users, particularly if this is your first experience of NetSurf.
-
Development builds
-
These are built automatically from the latest bleeding-edge source code and may be unstable. Development builds are currently available only for certain platforms. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.
-
- -

Note that some features may be fully implemented on the RISC OS version and not started on the GTK version. This is indicated on the progress page.

- -

Which version to choose

- -

If you are new to NetSurf (or don't want to run potentially unstable versions), the stable release series is the best option. Stable releases are made infrequently and comprise bug and security fixes to the previous stable release. Major stable releases introduce new features and form the base of the next stable release series.

- -

If you want to keep up with the latest developments in NetSurf, then the development builds are for you. However, as these represent the current state of development, they may be unstable or introduce new bugs. They also have significantly less testing than releases from the stable series.

- -

Reporting bugs

-

The NetSurf developers are very much open to bug reports. Please follow these simple guidelines.

- -

Before submitting a bug report, please:

- -
    -
  1. check that the bug exhibits itself in the latest version available for download at the time.
  2. -
  3. try to find a reproducible way of triggering the bug.
  4. -
  5. check the progress page be sure that something has actually been implemented.
  6. -
- -

When reporting bugs, please:

- -
    -
  1. state the version of NetSurf you are using.
  2. -
  3. say what hardware and operating system you are using.
  4. -
  5. say whether you can reproduce the problem or whether is was a one-off occurrence that you can't reproduce.
  6. -
  7. explain clearly and concisely the precise nature of the problem. (eg. does the computer hang, does NetSurf crash or report an error or is there a layout problem on a particular site? If it is a layout problem, please explain what is wrong.)
  8. -
  9. if a specific site is failing, give the full URL.
  10. -
  11. list the exact steps required to reproduce the bug.
  12. -
  13. if you can narrow a bug down to a minimal test-case, then that's great. Please provide it as it's likely to speed up a fix. (Don't worry if you can't.)
  14. -
- -

Bug reports should be made on the our bug report system.

- -

Feature requests

- -

You're welcome to share your ideas on the NetSurf user mailing list.

- -

JavaScript

- -

At present, NetSurf has only primitive and incomplete support for JavaScript, which we disable by default. Without JavaScript, NetSurf is able to provide access to most of sites on the World Wide Web. Some sites, however, will not display correctly or be unworkable due to heavy reliance on this standard.

- -

Full JavaScript is support is planned but we are currently a long way off achieving it. Many things need to be done before complete JavaScript support can be considered, such as changing our web page layout engine to handle dynamic changes being made to the page. JavaScript support will require a huge amount of work to complete. If you are keen to help out please visit the developer and contributor area.

- - - - -
- - -
- -
- - - diff --git a/documentation/info.html b/documentation/info.html new file mode 100644 index 0000000..f433061 --- /dev/null +++ b/documentation/info.html @@ -0,0 +1,140 @@ + + + +NetSurf | User Information + + + + + + + + + +
+ + + +

User Information

+ +

This page is is relevant to all users of NetSurf. RISC OS users can also check the RISC OS user information further information on the RISC OS version of NetSurf.

+ + + +

Last updated 2 January 2008

+ +

Getting NetSurf

+ +

There are two versions of NetSurf available:

+ +
+
Stable releases
+
These are recommended for most users, particularly if this is your first experience of NetSurf.
+
Development builds
+
These are built automatically from the latest bleeding-edge source code and may be unstable. Development builds are currently available only for certain platforms. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.
+
+ +

Note that some features may be fully implemented on the RISC OS version and not started on the GTK version. This is indicated on the progress page.

+ +

Which version to choose

+ +

If you are new to NetSurf (or don't want to run potentially unstable versions), the stable release series is the best option. Stable releases are made infrequently and comprise bug and security fixes to the previous stable release. Major stable releases introduce new features and form the base of the next stable release series.

+ +

If you want to keep up with the latest developments in NetSurf, then the development builds are for you. However, as these represent the current state of development, they may be unstable or introduce new bugs. They also have significantly less testing than releases from the stable series.

+ +

Reporting bugs

+

The NetSurf developers are very much open to bug reports. Please follow these simple guidelines.

+ +

Before submitting a bug report, please:

+ +
    +
  1. check that the bug exhibits itself in the latest version available for download at the time.
  2. +
  3. try to find a reproducible way of triggering the bug.
  4. +
  5. check the progress page be sure that something has actually been implemented.
  6. +
+ +

When reporting bugs, please:

+ +
    +
  1. state the version of NetSurf you are using.
  2. +
  3. say what hardware and operating system you are using.
  4. +
  5. say whether you can reproduce the problem or whether is was a one-off occurrence that you can't reproduce.
  6. +
  7. explain clearly and concisely the precise nature of the problem. (eg. does the computer hang, does NetSurf crash or report an error or is there a layout problem on a particular site? If it is a layout problem, please explain what is wrong.)
  8. +
  9. if a specific site is failing, give the full URL.
  10. +
  11. list the exact steps required to reproduce the bug.
  12. +
  13. if you can narrow a bug down to a minimal test-case, then that's great. Please provide it as it's likely to speed up a fix. (Don't worry if you can't.)
  14. +
+ +

Bug reports should be made on the our bug report system.

+ +

Feature requests

+ +

You're welcome to share your ideas on the NetSurf user mailing list.

+ +

JavaScript

+ +

At present, NetSurf has only primitive and incomplete support for JavaScript, which we disable by default. Without JavaScript, NetSurf is able to provide access to most of sites on the World Wide Web. Some sites, however, will not display correctly or be unworkable due to heavy reliance on this standard.

+ +

Full JavaScript is support is planned but we are currently a long way off achieving it. Many things need to be done before complete JavaScript support can be considered, such as changing our web page layout engine to handle dynamic changes being made to the page. JavaScript support will require a huge amount of work to complete. If you are keen to help out please visit the developer and contributor area.

+ + + + +
+ + +
+ +
+ + + diff --git a/documentation/nstheme.en b/documentation/nstheme.en deleted file mode 100644 index 3c4e508..0000000 --- a/documentation/nstheme.en +++ /dev/null @@ -1,158 +0,0 @@ - - - -NetSurf | NSTheme Guide - - - - - - - - - -
- - - -

Creating Themes

- -

This document is a brief guide to creating themes for use with NetSurf and packaging them with NSTheme. It is split up into the following sections:

- - - -

Last updated 22 March 2005

- -

Overview

- -

A theme contains a set of sprites for NetSurf's toolbar icons and some further information about the theme, such as the background colour of the toolbar and the theme name. NSTheme is an application that loads the sprites, allows the additional information to be set and then packages the theme into a single file for distribution.

- -

Sprites

- -

A theme contains a number of sprites; two for each button, a single separator sprite and extra sprites for the throbber animation. These sprites are to be grouped into a single sprite file and each sprite must be given a certain name, so that they can be attributed to the correct button.

- -

The toolbar buttons and the matching sprite names are listed below.

- - - - - - - - - - - - - - - - -
Browser Window
ButtonSprite name
Backback
Forwardforward
Historyhistory
Homehome
Hotlisthotlist
Printprint
Reloadreload
Savesave
Scale Viewscale
Search / Find Textsearch
Stopstop
Upup
- - - - - - - - - -
Hotlist Window
ButtonSprite name
Create Directorycreate
Delete Selectiondelete
Launch Selectionlaunch
Open Directoryopen
Expand Addressesexpand
- - - - - - - - -
Global History Window
ButtonSprite name
Delete Selectiondelete
Launch Selectionlaunch
Open Directoryopen
Expand Addressesexpand
- -

Each button has a sprite for its pressed and unpressed states. The pressed sprites are preceded with the letter 'p'. For the Save button, there will be both 'save' and 'psave' sprites.

- -

A sprite named 'separator' is used to separate groups of icons on the toolbar and the throbber is made up of any number of sprites named 'throbber0' to 'throbberN'. When NetSurf is inactive, 'throbber0' is displayed and when it is active, the throbber animation loops through 'throbber1' to 'throbberN'.

- -

For a five frame animation, there would be five sprites named 'throbber1' to 'throbber5' plus the inactive sprite, 'throbber0'.

- -

The sprites can have any dimensions and if some sprites are larger than others, NetSurf will centre the smaller ones on the toolbar automatically.

- -

Using NSTheme

- -

NSTheme's user interface should be fairly self explanatory and interactive help is available throughout the application. An existing theme can be loaded by dragging it to the NSTheme window. To create a new theme, drag a sprite file to NSTheme. Theme name and author information can be entered or altered with writable icons.

- -

Tick "Left align throbber" if you want the throbber to appear at the left of the toolbar. If un-ticked, the throbber will be displayed at the right. If your throbber animation uses a mask that moves from frame to frame, tick "Redraw every frame", which clears the previous frame of amimation before plotting the new one on top. Leave "Redraw every frame" un-ticked if the throbber doesn't feature a moving mask as this feature can make the throbber flicker while it animates.

- -

The Generate report button warns of any problems with the theme. For example, if no sprites have been loaded it will report, "No sprite file present". If a sprite file is loaded but the pressed Save button is missing, it will report, "Sprite 'psave' (browser save icon (pushed)) is missing". The Remove sprites button removes any sprites that had been loaded into the program.

- -

Sprites can be extracted from an existing theme with the Export option on the NSTheme window menu. When creating a new theme it may be helpful to extract the sprite file from the supplied theme (!NetSurf.Resources.Theme) and replace these sprites with your own.

- -

In the colours section, the background colours for the browser window toolbar, the hotlist toolbar and the browser window's status bar can be configured, along with the colour of text displayed in the status bar.

- -

To save a finished theme, use the save option in the NSTheme window menu. Once a theme file has been created, it must be placed in Choices:WWW.NetSurf.Themes to be found by NetSurf.

- -

Distribution

- -

Completed themes can be submitted for inclusion on NetSurf's themes page. They are served as Content-Type: application/x-netsurf-theme which NetSurf recognizes and installs as themes.

- - - - -
- - -
- -
- - - diff --git a/documentation/nstheme.html b/documentation/nstheme.html new file mode 100644 index 0000000..3c4e508 --- /dev/null +++ b/documentation/nstheme.html @@ -0,0 +1,158 @@ + + + +NetSurf | NSTheme Guide + + + + + + + + + +
+ + + +

Creating Themes

+ +

This document is a brief guide to creating themes for use with NetSurf and packaging them with NSTheme. It is split up into the following sections:

+ + + +

Last updated 22 March 2005

+ +

Overview

+ +

A theme contains a set of sprites for NetSurf's toolbar icons and some further information about the theme, such as the background colour of the toolbar and the theme name. NSTheme is an application that loads the sprites, allows the additional information to be set and then packages the theme into a single file for distribution.

+ +

Sprites

+ +

A theme contains a number of sprites; two for each button, a single separator sprite and extra sprites for the throbber animation. These sprites are to be grouped into a single sprite file and each sprite must be given a certain name, so that they can be attributed to the correct button.

+ +

The toolbar buttons and the matching sprite names are listed below.

+ + + + + + + + + + + + + + + + +
Browser Window
ButtonSprite name
Backback
Forwardforward
Historyhistory
Homehome
Hotlisthotlist
Printprint
Reloadreload
Savesave
Scale Viewscale
Search / Find Textsearch
Stopstop
Upup
+ + + + + + + + + +
Hotlist Window
ButtonSprite name
Create Directorycreate
Delete Selectiondelete
Launch Selectionlaunch
Open Directoryopen
Expand Addressesexpand
+ + + + + + + + +
Global History Window
ButtonSprite name
Delete Selectiondelete
Launch Selectionlaunch
Open Directoryopen
Expand Addressesexpand
+ +

Each button has a sprite for its pressed and unpressed states. The pressed sprites are preceded with the letter 'p'. For the Save button, there will be both 'save' and 'psave' sprites.

+ +

A sprite named 'separator' is used to separate groups of icons on the toolbar and the throbber is made up of any number of sprites named 'throbber0' to 'throbberN'. When NetSurf is inactive, 'throbber0' is displayed and when it is active, the throbber animation loops through 'throbber1' to 'throbberN'.

+ +

For a five frame animation, there would be five sprites named 'throbber1' to 'throbber5' plus the inactive sprite, 'throbber0'.

+ +

The sprites can have any dimensions and if some sprites are larger than others, NetSurf will centre the smaller ones on the toolbar automatically.

+ +

Using NSTheme

+ +

NSTheme's user interface should be fairly self explanatory and interactive help is available throughout the application. An existing theme can be loaded by dragging it to the NSTheme window. To create a new theme, drag a sprite file to NSTheme. Theme name and author information can be entered or altered with writable icons.

+ +

Tick "Left align throbber" if you want the throbber to appear at the left of the toolbar. If un-ticked, the throbber will be displayed at the right. If your throbber animation uses a mask that moves from frame to frame, tick "Redraw every frame", which clears the previous frame of amimation before plotting the new one on top. Leave "Redraw every frame" un-ticked if the throbber doesn't feature a moving mask as this feature can make the throbber flicker while it animates.

+ +

The Generate report button warns of any problems with the theme. For example, if no sprites have been loaded it will report, "No sprite file present". If a sprite file is loaded but the pressed Save button is missing, it will report, "Sprite 'psave' (browser save icon (pushed)) is missing". The Remove sprites button removes any sprites that had been loaded into the program.

+ +

Sprites can be extracted from an existing theme with the Export option on the NSTheme window menu. When creating a new theme it may be helpful to extract the sprite file from the supplied theme (!NetSurf.Resources.Theme) and replace these sprites with your own.

+ +

In the colours section, the background colours for the browser window toolbar, the hotlist toolbar and the browser window's status bar can be configured, along with the colour of text displayed in the status bar.

+ +

To save a finished theme, use the save option in the NSTheme window menu. Once a theme file has been created, it must be placed in Choices:WWW.NetSurf.Themes to be found by NetSurf.

+ +

Distribution

+ +

Completed themes can be submitted for inclusion on NetSurf's themes page. They are served as Content-Type: application/x-netsurf-theme which NetSurf recognizes and installs as themes.

+ + + + +
+ + +
+ +
+ + + diff --git a/documentation/progress.en b/documentation/progress.en deleted file mode 100644 index ffc57d0..0000000 --- a/documentation/progress.en +++ /dev/null @@ -1,302 +0,0 @@ - - - -NetSurf | Development Progress - - - - - - - - - -
- - - -

Development Progress

- -

This page provides an indication of the current status of various features and gives an idea of where future development will be aimed. Features are split up as follows:

- - - -

Last updated 20 December 2012

- -

- - - - - - - -
TitleStatusNotes
Web standardsIn progressMost of HTML 4 and CSS 2.1 are implemented which enables NetSurf to access most of the web, however, JavaScript support is currently at a very early stage of development. This means NetSurf currently lacks support for dynamic content.
User interface (RISC OS)Nearly doneRISC OS interface is mature.
User interface (GTK)In progressThe nsgtk user interface is sufficient to allow web browsing and supports many features expected of a web browser.
DocumentationIn progressMuch of the core functionality and RISC OS specific features are documented. There is very scant documentation for nsgtk.
- -

Web standards

- - - - - - - - - - - - - - - - - -
TitleStatusNotes
CookiesNearly doneUser interface to handle invalid cookies not available.
CSS 1Nearly done
CSS 2Nearly done
CSS 3Just startedSome of the selectors have been implemented.
HTML 4Nearly done
HTML 5Just startedAn HTML 5 compliant parser is being developed.
HTTP 1.1Complete
HTTP AuthenticationComplete
HTTPSComplete
DOM Level 0Just startedCore mostly complete.
DOM Level 1Just startedCore mostly complete.
DOM Level 2Just startedCore mostly complete.
DOM Level 3Just startedCore mostly complete.
JavaScriptJust startedDetails on the User Information page.
- -

Important HTML features

- - - - - - - - -
TitleStatusNotes
FormsNearly done
FramesNearly doneMargin attributes are unimplemented.
Frames affect back / forward navigation and history thumbnails.
Image MapsComplete
ListsComplete
TablesNearly doneElements col, colgroup, rowgroup and caption not implemented.
Extra space is divided equally among columns instead of in proportion with content width.
- -

CSS features

- - - - - - - - - -
TitleStatusNotes
SelectorsNearly doneCSS 1 and CSS 2 selectors implemented. Most CSS 3 selectors are implemented too.
Pseudo-classesNearly done
Pseudo-elementsNearly done
Media typesNearly doneNetSurf currently only uses the screen-targetted CSS, even when printing.
@importComplete
CascadeComplete
- -

CSS properties

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TitleStatusNotes
background-attachmentNot started
background-colorComplete
background-imageComplete
background-positionComplete
background-repeatComplete
background (shorthand)Complete
border-collapseComplete
border-colorComplete
border-spacingComplete
border-styleComplete
border-[top|right|bottom|left]Complete
border-*-colorComplete
border-*-styleComplete
border-*-widthComplete
bottomComplete
caption-sideNot started
clearNearly doneSome issues with floats remain.
clipComplete
colorComplete
contentNot started
counter-incrementCompleteCan't be used until content property is implemented.
counter-resetCompleteCan't be used until content property is implemented.
cursorComplete
directionNot started
displayComplete
empty-cellsNot started
floatNearly doneSome issues with floats remain.
font-familyNearly doneOnly generic font types are recognised, not specific font names.
font-sizeComplete
font-size-adjustNot started
font-stretchNot started
font-styleComplete
font-variantIn progressSmall caps not done.
font-weightComplete
font (shorthand)CompleteDependent on the status of individual properties.
heightComplete
leftComplete
letter-spacingNot started
line-heightNearly done
list-style-imageComplete
list-style-positionNot started
list-style-typeNearly done
list-style (shorthand)CompleteDependent on the status of individual properties.
margin-[top|right|bottom|left]Complete
margin (shorthand)Complete
marker-offsetNot started
marksNot started
max-heightComplete
max-widthComplete
min-heightComplete
min-widthComplete
orphansNot started
outline-colorNot started
outline-styleNot started
outline-widthNot started
outline (shorthand)Not started
overflowComplete
padding-[top|right|bottom|left]Complete
padding (shorthand)Complete
pageNot started
page-break-[after|before|inside]Not started
positionIn progressFixed position not implemented.
quotesNot started
rightComplete
sizeNot started
table-layoutNot started
text-alignComplete
text-decorationComplete
text-indentComplete
text-shadowNot started
text-transformComplete
topComplete
unicode-bidiNot started
vertical-alignIn progressOnly implemented for table cells.
visibilityIn progress
white-spaceIn progress
widowsNot started
widthComplete
word-spacingNot started
z-indexNot started
- -

Image support

- - - - - - - - - - - - - - - -
TitleStatusNotes
Artworks (RISC OS)CompleteRequires AWRender.
BMPComplete
Drawfile (RISC OS)Complete
GIFComplete
ICOComplete
JNGComplete
JPEGComplete
MNGNearly doneInteractive features aren't supported.
PNGNearly doneGamma correction is not correct for PNGs with alpha channels.
Sprite (RISC OS)Complete
SVG Tiny (RISC OS)In progressVia Libsvgtiny.
SVG (GTK)CompleteVia rsvg.
- -

RISC OS specific standards

- - - - - - -
TitleStatusNotes
Acorn URI ProtocolComplete
Ant URL ProtocolComplete
Plugin ProtocolNot startedOld, dodgy implementation removed.
- -

NetSurf features

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TitleStatusNotes
Advertisement BlockingComplete
Buffered Rendering OptionsCompleteSubstantially improves the display of content.
Details in the User Guide (RISC OS).
Configuration (RISC OS)Complete
Configuration (GTK)Nearly done
Disc CacheNot started
Dithering (RISC OS)CompleteGives improved rendering in sub true colour screen modes.
Both simple dithering and error diffusion available.
Documentation (RISC OS)Nearly doneSee the contents page.
Documentation (GTK)Just startedCurrently only build instructions exist for nsgtk. There is no user guide.
Downloads (RISC OS)CompleteFollowing a link to a file NetSurf can't render opens the download dialogue box.
Downloads (GTK)Complete
Find Text (RISC OS)Nearly doneDoesn't find phrases if they are split across lines.
Find Text (GTK)Nearly done
Full Save (RISC OS)Nearly doneSave pages with CSS files and images.
Doesn't rewrite URLs for CSS background images.
Full Save (GTK)Nearly done
History - Global (RISC OS)Nearly doneDetails in the User Guide.
History - Global (GTK)Nearly done
History - Local (RISC OS)CompleteDetails in the User Guide.
History - Local (GTK)Nearly done
Hotlist / bookmarks (RISC OS)Nearly doneDetails in the User Guide.
Hotlist / bookmarks (GTK)Nearly done
Interactive Help (RISC OS)Nearly done
Interactive Help (GTK)Nearly doneExtensive tool tips for GUI but none for rendering area.
Memory CacheComplete
Printing (RISC OS)CompleteDetails on the RISC OS User Information page.
Printing (GTK)Complete
Proxy SupportIn progressProtocols other than HTTP are incorrectly proxied.
Save as Drawfile (RISC OS)Nearly doneEmbedded drawfiles aren't exported when saving page as Draw. (Draw is a RISC OS vector graphics format.)
Save as Text (RISC OS)In progressSome issues with spacing out of text.
Save as Text (GTK)Not started
Scale View (RISC OS)CompleteWeb pages and images can be scaled up and down.
Text SelectionNearly doneText selection in text areas is incomplete.
Themes (RISC OS)CompleteThemes are available from the NetSurf themes page.
Themes (GTK)In progress
Toolbar Customisation (RISC OS)CompleteToolbars can be customised to show the icons you want, in the order you want.
Details in the User Guide.
Toolbar Customisation (GTK)Not started
Unicode Font Support (RISC OS)Nearly doneDetails on the RISC OS User Information page.
Unicode Font Support (GTK)Complete
URL CompletionCompleteWhen typing a URL into the URL bar, NetSurf will display suggestions for the full address.
View Source (RISC OS)CompletePress F8 or Page > View source on main menu.
View Source (GTK)Complete
- - - - -
- - -
- -
- - - diff --git a/documentation/progress.html b/documentation/progress.html new file mode 100644 index 0000000..ffc57d0 --- /dev/null +++ b/documentation/progress.html @@ -0,0 +1,302 @@ + + + +NetSurf | Development Progress + + + + + + + + + +
+ + + +

Development Progress

+ +

This page provides an indication of the current status of various features and gives an idea of where future development will be aimed. Features are split up as follows:

+ + + +

Last updated 20 December 2012

+ +

+ + + + + + + +
TitleStatusNotes
Web standardsIn progressMost of HTML 4 and CSS 2.1 are implemented which enables NetSurf to access most of the web, however, JavaScript support is currently at a very early stage of development. This means NetSurf currently lacks support for dynamic content.
User interface (RISC OS)Nearly doneRISC OS interface is mature.
User interface (GTK)In progressThe nsgtk user interface is sufficient to allow web browsing and supports many features expected of a web browser.
DocumentationIn progressMuch of the core functionality and RISC OS specific features are documented. There is very scant documentation for nsgtk.
+ +

Web standards

+ + + + + + + + + + + + + + + + + +
TitleStatusNotes
CookiesNearly doneUser interface to handle invalid cookies not available.
CSS 1Nearly done
CSS 2Nearly done
CSS 3Just startedSome of the selectors have been implemented.
HTML 4Nearly done
HTML 5Just startedAn HTML 5 compliant parser is being developed.
HTTP 1.1Complete
HTTP AuthenticationComplete
HTTPSComplete
DOM Level 0Just startedCore mostly complete.
DOM Level 1Just startedCore mostly complete.
DOM Level 2Just startedCore mostly complete.
DOM Level 3Just startedCore mostly complete.
JavaScriptJust startedDetails on the User Information page.
+ +

Important HTML features

+ + + + + + + + +
TitleStatusNotes
FormsNearly done
FramesNearly doneMargin attributes are unimplemented.
Frames affect back / forward navigation and history thumbnails.
Image MapsComplete
ListsComplete
TablesNearly doneElements col, colgroup, rowgroup and caption not implemented.
Extra space is divided equally among columns instead of in proportion with content width.
+ +

CSS features

+ + + + + + + + + +
TitleStatusNotes
SelectorsNearly doneCSS 1 and CSS 2 selectors implemented. Most CSS 3 selectors are implemented too.
Pseudo-classesNearly done
Pseudo-elementsNearly done
Media typesNearly doneNetSurf currently only uses the screen-targetted CSS, even when printing.
@importComplete
CascadeComplete
+ +

CSS properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TitleStatusNotes
background-attachmentNot started
background-colorComplete
background-imageComplete
background-positionComplete
background-repeatComplete
background (shorthand)Complete
border-collapseComplete
border-colorComplete
border-spacingComplete
border-styleComplete
border-[top|right|bottom|left]Complete
border-*-colorComplete
border-*-styleComplete
border-*-widthComplete
bottomComplete
caption-sideNot started
clearNearly doneSome issues with floats remain.
clipComplete
colorComplete
contentNot started
counter-incrementCompleteCan't be used until content property is implemented.
counter-resetCompleteCan't be used until content property is implemented.
cursorComplete
directionNot started
displayComplete
empty-cellsNot started
floatNearly doneSome issues with floats remain.
font-familyNearly doneOnly generic font types are recognised, not specific font names.
font-sizeComplete
font-size-adjustNot started
font-stretchNot started
font-styleComplete
font-variantIn progressSmall caps not done.
font-weightComplete
font (shorthand)CompleteDependent on the status of individual properties.
heightComplete
leftComplete
letter-spacingNot started
line-heightNearly done
list-style-imageComplete
list-style-positionNot started
list-style-typeNearly done
list-style (shorthand)CompleteDependent on the status of individual properties.
margin-[top|right|bottom|left]Complete
margin (shorthand)Complete
marker-offsetNot started
marksNot started
max-heightComplete
max-widthComplete
min-heightComplete
min-widthComplete
orphansNot started
outline-colorNot started
outline-styleNot started
outline-widthNot started
outline (shorthand)Not started
overflowComplete
padding-[top|right|bottom|left]Complete
padding (shorthand)Complete
pageNot started
page-break-[after|before|inside]Not started
positionIn progressFixed position not implemented.
quotesNot started
rightComplete
sizeNot started
table-layoutNot started
text-alignComplete
text-decorationComplete
text-indentComplete
text-shadowNot started
text-transformComplete
topComplete
unicode-bidiNot started
vertical-alignIn progressOnly implemented for table cells.
visibilityIn progress
white-spaceIn progress
widowsNot started
widthComplete
word-spacingNot started
z-indexNot started
+ +

Image support

+ + + + + + + + + + + + + + + +
TitleStatusNotes
Artworks (RISC OS)CompleteRequires AWRender.
BMPComplete
Drawfile (RISC OS)Complete
GIFComplete
ICOComplete
JNGComplete
JPEGComplete
MNGNearly doneInteractive features aren't supported.
PNGNearly doneGamma correction is not correct for PNGs with alpha channels.
Sprite (RISC OS)Complete
SVG Tiny (RISC OS)In progressVia Libsvgtiny.
SVG (GTK)CompleteVia rsvg.
+ +

RISC OS specific standards

+ + + + + + +
TitleStatusNotes
Acorn URI ProtocolComplete
Ant URL ProtocolComplete
Plugin ProtocolNot startedOld, dodgy implementation removed.
+ +

NetSurf features

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TitleStatusNotes
Advertisement BlockingComplete
Buffered Rendering OptionsCompleteSubstantially improves the display of content.
Details in the User Guide (RISC OS).
Configuration (RISC OS)Complete
Configuration (GTK)Nearly done
Disc CacheNot started
Dithering (RISC OS)CompleteGives improved rendering in sub true colour screen modes.
Both simple dithering and error diffusion available.
Documentation (RISC OS)Nearly doneSee the contents page.
Documentation (GTK)Just startedCurrently only build instructions exist for nsgtk. There is no user guide.
Downloads (RISC OS)CompleteFollowing a link to a file NetSurf can't render opens the download dialogue box.
Downloads (GTK)Complete
Find Text (RISC OS)Nearly doneDoesn't find phrases if they are split across lines.
Find Text (GTK)Nearly done
Full Save (RISC OS)Nearly doneSave pages with CSS files and images.
Doesn't rewrite URLs for CSS background images.
Full Save (GTK)Nearly done
History - Global (RISC OS)Nearly doneDetails in the User Guide.
History - Global (GTK)Nearly done
History - Local (RISC OS)CompleteDetails in the User Guide.
History - Local (GTK)Nearly done
Hotlist / bookmarks (RISC OS)Nearly doneDetails in the User Guide.
Hotlist / bookmarks (GTK)Nearly done
Interactive Help (RISC OS)Nearly done
Interactive Help (GTK)Nearly doneExtensive tool tips for GUI but none for rendering area.
Memory CacheComplete
Printing (RISC OS)CompleteDetails on the RISC OS User Information page.
Printing (GTK)Complete
Proxy SupportIn progressProtocols other than HTTP are incorrectly proxied.
Save as Drawfile (RISC OS)Nearly doneEmbedded drawfiles aren't exported when saving page as Draw. (Draw is a RISC OS vector graphics format.)
Save as Text (RISC OS)In progressSome issues with spacing out of text.
Save as Text (GTK)Not started
Scale View (RISC OS)CompleteWeb pages and images can be scaled up and down.
Text SelectionNearly doneText selection in text areas is incomplete.
Themes (RISC OS)CompleteThemes are available from the NetSurf themes page.
Themes (GTK)In progress
Toolbar Customisation (RISC OS)CompleteToolbars can be customised to show the icons you want, in the order you want.
Details in the User Guide.
Toolbar Customisation (GTK)Not started
Unicode Font Support (RISC OS)Nearly doneDetails on the RISC OS User Information page.
Unicode Font Support (GTK)Complete
URL CompletionCompleteWhen typing a URL into the URL bar, NetSurf will display suggestions for the full address.
View Source (RISC OS)CompletePress F8 or Page > View source on main menu.
View Source (GTK)Complete
+ + + + +
+ + +
+ +
+ + + diff --git a/documentation/resinstall.en b/documentation/resinstall.en deleted file mode 100644 index d272126..0000000 --- a/documentation/resinstall.en +++ /dev/null @@ -1,131 +0,0 @@ - - - -NetSurf | RISC OS Resource Installation Guide - - - - - - - - - -
- - - -

RISC OS Resource Installation Guide

- -

This page is a pictorial guide to installing resources on RISC OS.

- - - -

Last updated 29 November 2008

- -

Introduction

- -

Many RISC OS applications depend on some shared resources and modules in order to run. These shared resources can be used by several different programs at the same time and are stored inside the RISC OS Boot Structure.

- -

NetSurf, like many RISC OS applications, comes with two directories; !Boot and !System. These directories contain all the resources that NetSurf requires to run. The Boot Structure is specifically organised so that applications can find the resources they need to run.

- -

To install the resources that NetSurf depends on, the supplied !Boot and !System directories need to be merged with your system's Boot Structure. Fortunately this procedure is automated by drag-and-drop tools which do this job for you.

- -

Running Configure

- -

First of all, we need to run the RISC OS Configure application. There are several ways to do this:

- -
    -
  • The most common way to run Configure is to double click !Boot, in the root directory of your hard disc.
  • -
  • On RISC OS 5 you can click menu over the switcher icon which resides at the extreme right hand side of the iconbar. Choose the "Configure" option from the menu.
  • -
  • On some versions of the OS from RISCOS Ltd there is a "Choices..." option, which runs Configure, on the switcher menu.
  • -
- -

The Configure Window

- -

After running Configure you will have a window which looks like the above. Note that the icons you see will vary depending on which version of RISC OS you have.

- -

Merging a !System directory

- -

In the Configure window, click on the "System" icon. This opens the System Merge window, as pictured below.

- -

The System Merge Window

- -

Simply drag the !System directory supplied with the software onto this window and click the "Merge" button. The System Merge tool will then automatically merge the new resources into your Boot Structure.

- -

Merging a !Boot directory

- -

In the Configure window, click on the "Boot" icon. This opens the Boot sequence Configure window, as pictured below.

- -

The Boot sequence Configure Window

- -

In this window, click on the "Install" icon. This opens the Boot Merge window, as pictured below.

- -

The Boot Merge Window

- -

Simply drag the !Boot directory supplied with the software onto this window and click the "Merge" button. The Boot Merge tool will then automatically merge the new resources into your Boot Structure.

- -

Note: some old versions of RISC OS do not have a Boot Merge tool. In this case, you must instead drop the supplied !Boot over the !Boot directory which resides in the root directory of your hard disc drive.

- - - - - -
- - -
- -
- - - diff --git a/documentation/resinstall.html b/documentation/resinstall.html new file mode 100644 index 0000000..d272126 --- /dev/null +++ b/documentation/resinstall.html @@ -0,0 +1,131 @@ + + + +NetSurf | RISC OS Resource Installation Guide + + + + + + + + + +
+ + + +

RISC OS Resource Installation Guide

+ +

This page is a pictorial guide to installing resources on RISC OS.

+ + + +

Last updated 29 November 2008

+ +

Introduction

+ +

Many RISC OS applications depend on some shared resources and modules in order to run. These shared resources can be used by several different programs at the same time and are stored inside the RISC OS Boot Structure.

+ +

NetSurf, like many RISC OS applications, comes with two directories; !Boot and !System. These directories contain all the resources that NetSurf requires to run. The Boot Structure is specifically organised so that applications can find the resources they need to run.

+ +

To install the resources that NetSurf depends on, the supplied !Boot and !System directories need to be merged with your system's Boot Structure. Fortunately this procedure is automated by drag-and-drop tools which do this job for you.

+ +

Running Configure

+ +

First of all, we need to run the RISC OS Configure application. There are several ways to do this:

+ +
    +
  • The most common way to run Configure is to double click !Boot, in the root directory of your hard disc.
  • +
  • On RISC OS 5 you can click menu over the switcher icon which resides at the extreme right hand side of the iconbar. Choose the "Configure" option from the menu.
  • +
  • On some versions of the OS from RISCOS Ltd there is a "Choices..." option, which runs Configure, on the switcher menu.
  • +
+ +

The Configure Window

+ +

After running Configure you will have a window which looks like the above. Note that the icons you see will vary depending on which version of RISC OS you have.

+ +

Merging a !System directory

+ +

In the Configure window, click on the "System" icon. This opens the System Merge window, as pictured below.

+ +

The System Merge Window

+ +

Simply drag the !System directory supplied with the software onto this window and click the "Merge" button. The System Merge tool will then automatically merge the new resources into your Boot Structure.

+ +

Merging a !Boot directory

+ +

In the Configure window, click on the "Boot" icon. This opens the Boot sequence Configure window, as pictured below.

+ +

The Boot sequence Configure Window

+ +

In this window, click on the "Install" icon. This opens the Boot Merge window, as pictured below.

+ +

The Boot Merge Window

+ +

Simply drag the !Boot directory supplied with the software onto this window and click the "Merge" button. The Boot Merge tool will then automatically merge the new resources into your Boot Structure.

+ +

Note: some old versions of RISC OS do not have a Boot Merge tool. In this case, you must instead drop the supplied !Boot over the !Boot directory which resides in the root directory of your hard disc drive.

+ + + + + +
+ + +
+ +
+ + + diff --git a/documentation/roinfo.en b/documentation/roinfo.en deleted file mode 100644 index 756110e..0000000 --- a/documentation/roinfo.en +++ /dev/null @@ -1,188 +0,0 @@ - - - -NetSurf | RISC OS User Information - - - - - - - - - -
- - - -

RISC OS User Information

- -

This page is for issues specific to the RISC OS version of NetSurf. See the general user information page for more information about NetSurf.

- - - -

Last updated 23 December 2011

- -

Getting started

- -

Installation

- -

NetSurf requires RISC OS 4.02 or later and builds are available from the project's web site.

- -

Installation of "NetSurf" is a three step process:

- -
    -
  1. Use the Boot Merge facility provided by Configure to merge the supplied !Boot directory with the one on your system.
    If there is no !Boot merge facility on your system, simply drag the supplied !Boot over your existing boot structure.
  2. -
  3. Use the System Merge facility provided by Configure to merge the supplied !System directory with the one on your system.
  4. -
  5. Drag the !NetSurf application directory out of the archive, to your desired location.
  6. -
- -

Double click on !NetSurf in your chosen location to launch NetSurf.

- -

Note: if you are unsure how to follow steps 1 and 2 above, then please see our pictorial guide to resource installation.

- -

Requirements

- -

When NetSurf is run it will look for all the resources it needs to function correctly. If anything is not found, it displays an error message indicating the resource it could not locate on your system. If such a message appears, NetSurf is likely to be requesting one of the following resources.

- -

Items contained in the !Boot and !System directories supplied with NetSurf:

- -
-
Acorn URI
-
The Acorn URI module is used to pass URIs (of which URLs are an example) back and forth between different applications.
-
Iconv
-
This module provides improved character encoding support.
-
SharedUnixLibrary
-
This is a support module for programs compiled using UnixLib.
-
Tinct
-
Tinct is used for image plotting. It provides support for plotting sprites with alpha channels.
-
- -

If NetSurf starts without a problem, there is no need to upgrade any resources on your system.

- -

Additional Resources

- -

The following resources are not required to run NetSurf, although they do add additional functionality.

- -
-
Flash plugin
-
This allows you to view Flash files on web sites.
-
MimeMap Datafile
-
A resource containing many different MIME types and their equivalent RISC OS file types.
-
- -

Upgrading NetSurf

- -

If you are upgrading from a previous version of NetSurf, quit NetSurf and delete your old version. Drag the !NetSurf application to your required destination. NetSurf stores your choices, cookies, hotlist and themes in Choices:WWW.NetSurf, so the !NetSurf application directory can be deleted without any loss of your NetSurf configuration.

- -

It is possible to copy the new version of NetSurf over your old version to perform the upgrade. Please be aware that this could result in files that are no longer required being left in your copy of NetSurf although this should not cause any problems in usage.

- -

Fonts in NetSurf

- -

NetSurf has support for displaying pages containing Unicode characters that aren't normally available on RISC OS, for example accented Latin letters, Greek, Cyrillic, Japanese, and various symbols.

- -

The font choices let you pick a font for each of the five standard families available to web authors (in CSS). The choices specify the preferred font to use. If a character is not available in the chosen font, but it's present in some other font that you have installed, then NetSurf will automatically use it. There's no need to change the font choices to view pages with characters that are not available in the chosen font.

- -

Note that you can only choose a font family. NetSurf will automatically use weights from the family for bold and slanted text, if available.

- -

Installing More Fonts

- -

The fonts that come with RISC OS cover Latin (Homerton, Trinity, Corpus), Greek (Sidney), and various symbols (Selwyn, Sidney). (On RISC OS 3-4, only the "Latin 1" characters from the standard fonts, which cover Western European languages, can be used by NetSurf).

- -

If you want to display pages with other characters correctly, you'll need to install fonts containing them. When a character is not present in any available font, the Unicode character code will be displayed.

- -

If you see the codes 0091, 0092, 0096, or others starting 009, that indicates that the page is not specifying the character set that it is using correctly. Installing fonts won't help. We haven't yet decided what the best way to work around this problem is.

- -

Any font supplied with a correctly designed "Encoding" file should work. In practice, native fonts covering anything other than Latin 1 are rare. The solution is to convert TrueType fonts using TTF2f (this currently produces fonts suitable for RISC OS 5 only).

- -

After installing new fonts, NetSurf will need restarting so that it detects them.

- -

Problems and Unimplemented Features

- -
    -
  • Substituted characters are taken from the first font that contains them, even if a character which matches the weight or slant better is available.
  • -
  • Unicode line breaking is not implemented.
  • -
  • Right-to-left text (Hebrew, Arabic) is not implemented.
  • -
- -

Printing

- -

When NetSurf is run without the Unicode Font Manager, printing will work correctly. When printing with the Unicode Font Manager, as on RISC OS 5 or with a softloaded Unicode Font Manager, there are a few things you may need to install.

- -
    -
  1. Using the standard RISC OS 5 release of the printer drivers doesn't work due to lack of Unicode support in the RISC OS 5 printer drivers. However, a version of "Printers" that supports printing to non-PostScript printers is available from RISC OS Open Ltd.
  2. -
  3. Printing to PostScript printers with Unicode support is not possible with the standard PostScript drivers. In order to print correctly, the more advanced PostScript 3 printer driver by John Tytgat and Martin Würthner is required.
  4. -
  5. If you use Geminus, you'll need to run at least version 1.34.
  6. -
- - - - -
- - -
- -
- - - diff --git a/documentation/roinfo.html b/documentation/roinfo.html new file mode 100644 index 0000000..756110e --- /dev/null +++ b/documentation/roinfo.html @@ -0,0 +1,188 @@ + + + +NetSurf | RISC OS User Information + + + + + + + + + +
+ + + +

RISC OS User Information

+ +

This page is for issues specific to the RISC OS version of NetSurf. See the general user information page for more information about NetSurf.

+ + + +

Last updated 23 December 2011

+ +

Getting started

+ +

Installation

+ +

NetSurf requires RISC OS 4.02 or later and builds are available from the project's web site.

+ +

Installation of "NetSurf" is a three step process:

+ +
    +
  1. Use the Boot Merge facility provided by Configure to merge the supplied !Boot directory with the one on your system.
    If there is no !Boot merge facility on your system, simply drag the supplied !Boot over your existing boot structure.
  2. +
  3. Use the System Merge facility provided by Configure to merge the supplied !System directory with the one on your system.
  4. +
  5. Drag the !NetSurf application directory out of the archive, to your desired location.
  6. +
+ +

Double click on !NetSurf in your chosen location to launch NetSurf.

+ +

Note: if you are unsure how to follow steps 1 and 2 above, then please see our pictorial guide to resource installation.

+ +

Requirements

+ +

When NetSurf is run it will look for all the resources it needs to function correctly. If anything is not found, it displays an error message indicating the resource it could not locate on your system. If such a message appears, NetSurf is likely to be requesting one of the following resources.

+ +

Items contained in the !Boot and !System directories supplied with NetSurf:

+ +
+
Acorn URI
+
The Acorn URI module is used to pass URIs (of which URLs are an example) back and forth between different applications.
+
Iconv
+
This module provides improved character encoding support.
+
SharedUnixLibrary
+
This is a support module for programs compiled using UnixLib.
+
Tinct
+
Tinct is used for image plotting. It provides support for plotting sprites with alpha channels.
+
+ +

If NetSurf starts without a problem, there is no need to upgrade any resources on your system.

+ +

Additional Resources

+ +

The following resources are not required to run NetSurf, although they do add additional functionality.

+ +
+
Flash plugin
+
This allows you to view Flash files on web sites.
+
MimeMap Datafile
+
A resource containing many different MIME types and their equivalent RISC OS file types.
+
+ +

Upgrading NetSurf

+ +

If you are upgrading from a previous version of NetSurf, quit NetSurf and delete your old version. Drag the !NetSurf application to your required destination. NetSurf stores your choices, cookies, hotlist and themes in Choices:WWW.NetSurf, so the !NetSurf application directory can be deleted without any loss of your NetSurf configuration.

+ +

It is possible to copy the new version of NetSurf over your old version to perform the upgrade. Please be aware that this could result in files that are no longer required being left in your copy of NetSurf although this should not cause any problems in usage.

+ +

Fonts in NetSurf

+ +

NetSurf has support for displaying pages containing Unicode characters that aren't normally available on RISC OS, for example accented Latin letters, Greek, Cyrillic, Japanese, and various symbols.

+ +

The font choices let you pick a font for each of the five standard families available to web authors (in CSS). The choices specify the preferred font to use. If a character is not available in the chosen font, but it's present in some other font that you have installed, then NetSurf will automatically use it. There's no need to change the font choices to view pages with characters that are not available in the chosen font.

+ +

Note that you can only choose a font family. NetSurf will automatically use weights from the family for bold and slanted text, if available.

+ +

Installing More Fonts

+ +

The fonts that come with RISC OS cover Latin (Homerton, Trinity, Corpus), Greek (Sidney), and various symbols (Selwyn, Sidney). (On RISC OS 3-4, only the "Latin 1" characters from the standard fonts, which cover Western European languages, can be used by NetSurf).

+ +

If you want to display pages with other characters correctly, you'll need to install fonts containing them. When a character is not present in any available font, the Unicode character code will be displayed.

+ +

If you see the codes 0091, 0092, 0096, or others starting 009, that indicates that the page is not specifying the character set that it is using correctly. Installing fonts won't help. We haven't yet decided what the best way to work around this problem is.

+ +

Any font supplied with a correctly designed "Encoding" file should work. In practice, native fonts covering anything other than Latin 1 are rare. The solution is to convert TrueType fonts using TTF2f (this currently produces fonts suitable for RISC OS 5 only).

+ +

After installing new fonts, NetSurf will need restarting so that it detects them.

+ +

Problems and Unimplemented Features

+ +
    +
  • Substituted characters are taken from the first font that contains them, even if a character which matches the weight or slant better is available.
  • +
  • Unicode line breaking is not implemented.
  • +
  • Right-to-left text (Hebrew, Arabic) is not implemented.
  • +
+ +

Printing

+ +

When NetSurf is run without the Unicode Font Manager, printing will work correctly. When printing with the Unicode Font Manager, as on RISC OS 5 or with a softloaded Unicode Font Manager, there are a few things you may need to install.

+ +
    +
  1. Using the standard RISC OS 5 release of the printer drivers doesn't work due to lack of Unicode support in the RISC OS 5 printer drivers. However, a version of "Printers" that supports printing to non-PostScript printers is available from RISC OS Open Ltd.
  2. +
  3. Printing to PostScript printers with Unicode support is not possible with the standard PostScript drivers. In order to print correctly, the more advanced PostScript 3 printer driver by John Tytgat and Martin Würthner is required.
  4. +
  5. If you use Geminus, you'll need to run at least version 1.34.
  6. +
+ + + + +
+ + +
+ +
+ + + diff --git a/documentation/translations.en b/documentation/translations.en deleted file mode 100644 index 2d26f33..0000000 --- a/documentation/translations.en +++ /dev/null @@ -1,136 +0,0 @@ - - - -NetSurf | Producing Translations - - - - - - - - - -
- - - -

Producing Translations

- -

This page contains information for anyone interested in translating NetSurf into other languages.

- - - -

Last updated 17 June 2006

- -

Getting started

- -

Translations of NetSurf into other languages are very welcome. Currently we have the reference version in English and translations into Dutch, French and German.

- -

Mailing list

- -

Translators are encouraged to join the developer's mailing list. Please join the mailing list if you would like to translate NetSurf into a new language or help with an existing translation.

- -

The mailing list is for any discussion related to development or translation of NetSurf and will be used to indicate any changes that have been made to NetSurf's interface, web site or documentation.

- -

Obtaining files

- -

There are two types of files that can be translated; those that are part of the web site and those that are part of the NetSurf application.

- -

The documentation is part of the web site and it is copied into the NetSurf application by the autobuilder. The autobuilder automatically makes a few changes to links in the documentation, to ensure they work off line. It is important that it is the web site version of the documentation is translated.

- -

The simplest way to get the latest files is to use Git, as follows:

- -

$ git clone git://git.netsurf-browser.org/netsurf.git
$ git clone git://git.netsurf-browser.org/netsurf-website.git

- -

The important files are

- -
    -
  • !NetSurf/Docs.intro_??
  • -
  • !NetSurf/Resources/??/Messages
  • -
  • !NetSurf/Resources/??/Templates
  • -
  • In netsurfweb: Any file ending in ".??"
  • -
- -

"??" is a two letter country code, such as "de" (Germany) or "fr" (France)

- -

Alternatively, the three files from !NetSurf can be taken from the latest build and any documentation or web material can be found on the web site. Do not be put off by the amount of files that can be translated. A translation of just NetSurf's interface is much better than no translation at all!

- -

Please translate from the English version as this will always be most up to date.

- -

Requirements

- -

No programming knowledge is required, just the ability to use a template editor (for example WinEd) and a text editor capable of editing UTF-8 encoded files (for example Zap).

- -

NetSurf's Messages files are UTF-8 encoded. In Zap 1.47 Beta, to select UTF-8 mode, click menu over the window and select:

- -

Edit > Encoding > UTF8

- -

File submission

- -

Please send any translated files to the development mailing list.

- - - - -
- - -
- -
- - - diff --git a/documentation/translations.html b/documentation/translations.html new file mode 100644 index 0000000..2d26f33 --- /dev/null +++ b/documentation/translations.html @@ -0,0 +1,136 @@ + + + +NetSurf | Producing Translations + + + + + + + + + +
+ + + +

Producing Translations

+ +

This page contains information for anyone interested in translating NetSurf into other languages.

+ + + +

Last updated 17 June 2006

+ +

Getting started

+ +

Translations of NetSurf into other languages are very welcome. Currently we have the reference version in English and translations into Dutch, French and German.

+ +

Mailing list

+ +

Translators are encouraged to join the developer's mailing list. Please join the mailing list if you would like to translate NetSurf into a new language or help with an existing translation.

+ +

The mailing list is for any discussion related to development or translation of NetSurf and will be used to indicate any changes that have been made to NetSurf's interface, web site or documentation.

+ +

Obtaining files

+ +

There are two types of files that can be translated; those that are part of the web site and those that are part of the NetSurf application.

+ +

The documentation is part of the web site and it is copied into the NetSurf application by the autobuilder. The autobuilder automatically makes a few changes to links in the documentation, to ensure they work off line. It is important that it is the web site version of the documentation is translated.

+ +

The simplest way to get the latest files is to use Git, as follows:

+ +

$ git clone git://git.netsurf-browser.org/netsurf.git
$ git clone git://git.netsurf-browser.org/netsurf-website.git

+ +

The important files are

+ +
    +
  • !NetSurf/Docs.intro_??
  • +
  • !NetSurf/Resources/??/Messages
  • +
  • !NetSurf/Resources/??/Templates
  • +
  • In netsurfweb: Any file ending in ".??"
  • +
+ +

"??" is a two letter country code, such as "de" (Germany) or "fr" (France)

+ +

Alternatively, the three files from !NetSurf can be taken from the latest build and any documentation or web material can be found on the web site. Do not be put off by the amount of files that can be translated. A translation of just NetSurf's interface is much better than no translation at all!

+ +

Please translate from the English version as this will always be most up to date.

+ +

Requirements

+ +

No programming knowledge is required, just the ability to use a template editor (for example WinEd) and a text editor capable of editing UTF-8 encoded files (for example Zap).

+ +

NetSurf's Messages files are UTF-8 encoded. In Zap 1.47 Beta, to select UTF-8 mode, click menu over the window and select:

+ +

Edit > Encoding > UTF8

+ +

File submission

+ +

Please send any translated files to the development mailing list.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/amiga/index.en b/downloads/amiga/index.en deleted file mode 100644 index 7320423..0000000 --- a/downloads/amiga/index.en +++ /dev/null @@ -1,172 +0,0 @@ - - - -NetSurf | AmigaOS Downloads - - - - - - - - - -
- - - -

AmigaOS NetSurf Downloads

- -
-
-
Test builds
-
Bleeding-edge test builds are available for those that want to try the latest experimental features.
-
-
- -
-
-
-

NetSurf 3.2 for AmigaOS (5.9MB) 30 Aug 2014

- -

Requires:

-
    -
  • AmigaOS 4
  • -
-
- -
-

NetSurf 3.2 source code (2.9MB) 30 Aug 2014

-

Build instructions

-

Build NetSurf for:

-
    -
  • AmigaOS
  • -
  • Linux
  • -
  • Free/NetBSD
  • -
  • And more
  • -
-
-
-
-
- -

Check out the change log to see what's changed since the last release.

- -

Previous releases

-
-
NetSurf 3.1
-
- -
-
NetSurf 2.9
-
- -
-
NetSurf 2.8
-
- -
-
NetSurf 2.7
-
- -
-
NetSurf 2.6
-
- -
-
NetSurf 2.5
-
- -
-
NetSurf 2.1
-
- -
-
NetSurf 2.0
-
- -
-
- -

Latest Source

- -

Alternatively, you can obtain the latest source, if you want to play with the AmigaOS port.

- - - - -
- - -
- -
- - - diff --git a/downloads/amiga/index.html b/downloads/amiga/index.html new file mode 100644 index 0000000..7320423 --- /dev/null +++ b/downloads/amiga/index.html @@ -0,0 +1,172 @@ + + + +NetSurf | AmigaOS Downloads + + + + + + + + + +
+ + + +

AmigaOS NetSurf Downloads

+ +
+
+
Test builds
+
Bleeding-edge test builds are available for those that want to try the latest experimental features.
+
+
+ +
+
+
+

NetSurf 3.2 for AmigaOS (5.9MB) 30 Aug 2014

+ +

Requires:

+
    +
  • AmigaOS 4
  • +
+
+ +
+

NetSurf 3.2 source code (2.9MB) 30 Aug 2014

+

Build instructions

+

Build NetSurf for:

+
    +
  • AmigaOS
  • +
  • Linux
  • +
  • Free/NetBSD
  • +
  • And more
  • +
+
+
+
+
+ +

Check out the change log to see what's changed since the last release.

+ +

Previous releases

+
+
NetSurf 3.1
+
+ +
+
NetSurf 2.9
+
+ +
+
NetSurf 2.8
+
+ +
+
NetSurf 2.7
+
+ +
+
NetSurf 2.6
+
+ +
+
NetSurf 2.5
+
+ +
+
NetSurf 2.1
+
+ +
+
NetSurf 2.0
+
+ +
+
+ +

Latest Source

+ +

Alternatively, you can obtain the latest source, if you want to play with the AmigaOS port.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/atari/index.en b/downloads/atari/index.en deleted file mode 100644 index 24834e8..0000000 --- a/downloads/atari/index.en +++ /dev/null @@ -1,123 +0,0 @@ - - - -NetSurf | Atari Downloads - - - - - - - - - -
- - - -

Atari NetSurf Downloads

- -
-
-
Test builds
-
Bleeding-edge test builds are available for those that want to try the latest experimental features.
-
-
- -
-
-
-

NetSurf 2.9 for Atari (10.0MB) 27 Mar 2012

- -

Requires:

-
    -
  • FreeMiNT 1.17
  • -
-
- -
-

NetSurf 2.9 source code (2.3MB) 27 Mar 2012

-

Build instructions

-

Build NetSurf for:

-
    -
  • Atari
  • -
  • Linux
  • -
  • Free/NetBSD
  • -
  • And more
  • -
-
-
-
-
- -

Check out the change log to see what's changed since the last release.

- - - -

Latest Source

- -

Alternatively, you can obtain the latest source, if you want to play with the AmigaOS port.

- - - - -
- - -
- -
- - - diff --git a/downloads/atari/index.html b/downloads/atari/index.html new file mode 100644 index 0000000..24834e8 --- /dev/null +++ b/downloads/atari/index.html @@ -0,0 +1,123 @@ + + + +NetSurf | Atari Downloads + + + + + + + + + +
+ + + +

Atari NetSurf Downloads

+ +
+
+
Test builds
+
Bleeding-edge test builds are available for those that want to try the latest experimental features.
+
+
+ +
+
+
+

NetSurf 2.9 for Atari (10.0MB) 27 Mar 2012

+ +

Requires:

+
    +
  • FreeMiNT 1.17
  • +
+
+ +
+

NetSurf 2.9 source code (2.3MB) 27 Mar 2012

+

Build instructions

+

Build NetSurf for:

+
    +
  • Atari
  • +
  • Linux
  • +
  • Free/NetBSD
  • +
  • And more
  • +
+
+
+
+
+ +

Check out the change log to see what's changed since the last release.

+ + + +

Latest Source

+ +

Alternatively, you can obtain the latest source, if you want to play with the AmigaOS port.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/beos/index.en b/downloads/beos/index.en deleted file mode 100644 index a52d419..0000000 --- a/downloads/beos/index.en +++ /dev/null @@ -1,108 +0,0 @@ - - - -NetSurf | BeOS Downloads - - - - - - - - - -
- - - -

Haiku and BeOS NetSurf Downloads

- -
-
-
-

NetSurf 2.0 for Haiku (6.2MB) 25 Apr 2009

-

Extract to boot and create symlink for Deskbar

- -
- -
-

NetSurf 2.0 source code (1.4MB) 25 Apr 2009

-

Build instructions

-

Build NetSurf for:

-
    -
  • Haiku
  • -
  • BeOS
  • -
  • Linux
  • -
  • Free/NetBSD
  • -
  • And more
  • -
-
-
-
-
- -

Check out the change log to see what's changed since the last release.

- -

The latest development build is available, which should be unzipped to "/boot".

- -

Source

- -

Alternatively, you can obtain the latest source, if you want to play with the BeOS/Haiku port.

- - - - -
- - -
- -
- - - diff --git a/downloads/beos/index.html b/downloads/beos/index.html new file mode 100644 index 0000000..a52d419 --- /dev/null +++ b/downloads/beos/index.html @@ -0,0 +1,108 @@ + + + +NetSurf | BeOS Downloads + + + + + + + + + +
+ + + +

Haiku and BeOS NetSurf Downloads

+ +
+
+
+

NetSurf 2.0 for Haiku (6.2MB) 25 Apr 2009

+

Extract to boot and create symlink for Deskbar

+ +
+ +
+

NetSurf 2.0 source code (1.4MB) 25 Apr 2009

+

Build instructions

+

Build NetSurf for:

+
    +
  • Haiku
  • +
  • BeOS
  • +
  • Linux
  • +
  • Free/NetBSD
  • +
  • And more
  • +
+
+
+
+
+ +

Check out the change log to see what's changed since the last release.

+ +

The latest development build is available, which should be unzipped to "/boot".

+ +

Source

+ +

Alternatively, you can obtain the latest source, if you want to play with the BeOS/Haiku port.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/extras.en b/downloads/extras.en deleted file mode 100644 index d5af4df..0000000 --- a/downloads/extras.en +++ /dev/null @@ -1,82 +0,0 @@ - - - -NetSurf | Extras - - - - - - - - - -
- - - -

NetSurf Extras

- -

This page contains additional downloads available for NetSurf users.

- - - - -

NSTheme is a theme packager for the RISC OS version of NetSurf. Themes can be installed from the themes page.

- - - - -
- - -
- -
- - - diff --git a/downloads/extras.html b/downloads/extras.html new file mode 100644 index 0000000..d5af4df --- /dev/null +++ b/downloads/extras.html @@ -0,0 +1,82 @@ + + + +NetSurf | Extras + + + + + + + + + +
+ + + +

NetSurf Extras

+ +

This page contains additional downloads available for NetSurf users.

+ + + + +

NSTheme is a theme packager for the RISC OS version of NetSurf. Themes can be installed from the themes page.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/gtk/index.en b/downloads/gtk/index.en deleted file mode 100644 index d864f92..0000000 --- a/downloads/gtk/index.en +++ /dev/null @@ -1,212 +0,0 @@ - - - -NetSurf | GTK Downloads - - - - - - - - - -
- - - -

GTK NetSurf Downloads

- -
-
-
Latest development source
-
Bleeding-edge source code is available for those that want to try the latest experimental features.
-
-
- -

NetSurf's GTK front end works on systems that provive a Unix-like environment, such as Linux, FreeBSD, NetBSD, Solaris and others. If your distribution packages NetSurf, you can use that. Otherwise you can download and build the source code.

- -
-
-
-

NetSurf 3.0 source code (2.5MB) 20 Apr 2013

-

Build instructions

-

Build NetSurf for:

-
    -
  • Linux
  • -
  • Free/NetBSD
  • -
  • Solaris
  • -
  • RISC OS
  • -
  • And more
  • -
-
-
-
-
- -

Check out the change log to see what's changed since the last release.

- -

Packages

-

We provide packages for installation of NetSurf releases on various systems.

- -
-
NetSurf 2.7
-
- -
-
- - - -

Previous releases

-
-
NetSurf 2.9
-
- -
-
NetSurf 2.8
-
- -
-
NetSurf 2.7
-
- -
-
NetSurf 2.6
-
- -
-
NetSurf 2.5
-
- -
-
NetSurf 2.1
-
- -
-
NetSurf 2.0
-
- -
-
NetSurf 1.2
-
- -
-
NetSurf 1.1
-
- -
-
NetSurf 1.0
-
- -
-
- -

Framebuffer NetSurf

- -

There are actually two versions of NetSurf available for Unix-like systems. In addition to the GTK front end, which is for normal desktop usage, there is a framebuffer front end for NetSurf which requires no windowing environment or GUI toolkits. It currently supports the Linux framebuffer and ABLE's framebuffer.

- -

Please obtain the latest source, if you want to play with the framebuffer build.

- - - - -
- - -
- -
- - - diff --git a/downloads/gtk/index.html b/downloads/gtk/index.html new file mode 100644 index 0000000..d864f92 --- /dev/null +++ b/downloads/gtk/index.html @@ -0,0 +1,212 @@ + + + +NetSurf | GTK Downloads + + + + + + + + + +
+ + + +

GTK NetSurf Downloads

+ +
+
+
Latest development source
+
Bleeding-edge source code is available for those that want to try the latest experimental features.
+
+
+ +

NetSurf's GTK front end works on systems that provive a Unix-like environment, such as Linux, FreeBSD, NetBSD, Solaris and others. If your distribution packages NetSurf, you can use that. Otherwise you can download and build the source code.

+ +
+
+
+

NetSurf 3.0 source code (2.5MB) 20 Apr 2013

+

Build instructions

+

Build NetSurf for:

+
    +
  • Linux
  • +
  • Free/NetBSD
  • +
  • Solaris
  • +
  • RISC OS
  • +
  • And more
  • +
+
+
+
+
+ +

Check out the change log to see what's changed since the last release.

+ +

Packages

+

We provide packages for installation of NetSurf releases on various systems.

+ +
+
NetSurf 2.7
+
+ +
+
+ + + +

Previous releases

+
+
NetSurf 2.9
+
+ +
+
NetSurf 2.8
+
+ +
+
NetSurf 2.7
+
+ +
+
NetSurf 2.6
+
+ +
+
NetSurf 2.5
+
+ +
+
NetSurf 2.1
+
+ +
+
NetSurf 2.0
+
+ +
+
NetSurf 1.2
+
+ +
+
NetSurf 1.1
+
+ +
+
NetSurf 1.0
+
+ +
+
+ +

Framebuffer NetSurf

+ +

There are actually two versions of NetSurf available for Unix-like systems. In addition to the GTK front end, which is for normal desktop usage, there is a framebuffer front end for NetSurf which requires no windowing environment or GUI toolkits. It currently supports the Linux framebuffer and ABLE's framebuffer.

+ +

Please obtain the latest source, if you want to play with the framebuffer build.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/index.en b/downloads/index.en deleted file mode 100644 index 369e8cc..0000000 --- a/downloads/index.en +++ /dev/null @@ -1,91 +0,0 @@ - - - -NetSurf | Downloads - - - - - - - - - -
- - - -

NetSurf Downloads

- -

Download NetSurf for your operating system:

- - - -

Alternatively, download NetSurf's source code:

- - - - - - -
- - -
- -
- - - diff --git a/downloads/index.html b/downloads/index.html new file mode 100644 index 0000000..369e8cc --- /dev/null +++ b/downloads/index.html @@ -0,0 +1,91 @@ + + + +NetSurf | Downloads + + + + + + + + + +
+ + + +

NetSurf Downloads

+ +

Download NetSurf for your operating system:

+ + + +

Alternatively, download NetSurf's source code:

+ + + + + + +
+ + +
+ +
+ + + diff --git a/downloads/macosx/index.en b/downloads/macosx/index.en deleted file mode 100644 index 7b714bc..0000000 --- a/downloads/macosx/index.en +++ /dev/null @@ -1,131 +0,0 @@ - - - -NetSurf | Mac OS X Downloads - - - - - - - - - -
- - - -

Mac OS X NetSurf Downloads

- -
-
-
Test builds
-
Bleeding-edge test builds are available for those that want to try the latest experimental features.
-
-
- -
-
-
-

NetSurf 2.9 for Mac OS X (1.3MB) 27 Mar 2012

- -

Requires:

-
    -
  • Mac OS X 10.6 or later
  • -
-

Compatible with i386 & x86_64 systems.

-
- -
-

NetSurf 2.9 source code (2.3MB) 27 Mar 2012

-

Build instructions

-

Build NetSurf for:

-
    -
  • Mac OS X
  • -
  • Linux
  • -
  • Free/NetBSD
  • -
  • And more
  • -
-
-
-
-
- -

Check out the change log to see what's changed since the last release.

- -

Previous releases

-
-
NetSurf 2.8
-
- -
-
NetSurf 2.7
-
- -
-
- -

Latest Source

- -

Alternatively, you can obtain the latest source, if you want to play with the Mac OS X port.

- - - - -
- - -
- -
- - - diff --git a/downloads/macosx/index.html b/downloads/macosx/index.html new file mode 100644 index 0000000..7b714bc --- /dev/null +++ b/downloads/macosx/index.html @@ -0,0 +1,131 @@ + + + +NetSurf | Mac OS X Downloads + + + + + + + + + +
+ + + +

Mac OS X NetSurf Downloads

+ +
+
+
Test builds
+
Bleeding-edge test builds are available for those that want to try the latest experimental features.
+
+
+ +
+
+
+

NetSurf 2.9 for Mac OS X (1.3MB) 27 Mar 2012

+ +

Requires:

+
    +
  • Mac OS X 10.6 or later
  • +
+

Compatible with i386 & x86_64 systems.

+
+ +
+

NetSurf 2.9 source code (2.3MB) 27 Mar 2012

+

Build instructions

+

Build NetSurf for:

+
    +
  • Mac OS X
  • +
  • Linux
  • +
  • Free/NetBSD
  • +
  • And more
  • +
+
+
+
+
+ +

Check out the change log to see what's changed since the last release.

+ +

Previous releases

+
+
NetSurf 2.8
+
+ +
+
NetSurf 2.7
+
+ +
+
+ +

Latest Source

+ +

Alternatively, you can obtain the latest source, if you want to play with the Mac OS X port.

+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/riscos/index.en b/downloads/riscos/index.en deleted file mode 100644 index d4e528a..0000000 --- a/downloads/riscos/index.en +++ /dev/null @@ -1,206 +0,0 @@ - - - -NetSurf | RISC OS Downloads - - - - - - - - - -
- - - -

RISC OS NetSurf Downloads

- -
-
-
Test builds
-
Bleeding-edge test builds are available for those that want to try the latest experimental features.
-
-
- -
-
-
-

NetSurf 3.2 for RISC OS (3.3MB) 30 Aug 2014

-

Installation instructions

-

Binary download includes:

- -

Requires either:

-
    -
  • RISC OS 6; any version
  • -
  • RISC OS 5.07 or later
  • -
  • RISC OS 4.02 or later
  • -
-
- -
-

NetSurf 3.2 source code (2.9MB) 30 Aug 2014

-

Build instructions

-

Build NetSurf for:

-
    -
  • RISC OS
  • -
  • Linux
  • -
  • Free/NetBSD
  • -
  • Solaris
  • -
  • And more
  • -
-
-
-
-
- -

Check out the change log to see what's changed since the last release.

- -

Previous releases

-
-
NetSurf 3.1
-
- -
-
NetSurf 3.0
-
- -
-
NetSurf 2.9
-
- -
-
NetSurf 2.8
-
- -
-
NetSurf 2.7
-
- -
-
NetSurf 2.6
-
- -
-
NetSurf 2.5
-
- -
-
NetSurf 2.1
-
- -
-
NetSurf 2.0
-
- -
-
NetSurf 1.2
-
- -
-
NetSurf 1.1
-
- -
-
NetSurf 1.0
-
- -
-
- - - - -
- - -
- -
- - - diff --git a/downloads/riscos/index.html b/downloads/riscos/index.html new file mode 100644 index 0000000..d4e528a --- /dev/null +++ b/downloads/riscos/index.html @@ -0,0 +1,206 @@ + + + +NetSurf | RISC OS Downloads + + + + + + + + + +
+ + + +

RISC OS NetSurf Downloads

+ +
+
+
Test builds
+
Bleeding-edge test builds are available for those that want to try the latest experimental features.
+
+
+ +
+
+
+

NetSurf 3.2 for RISC OS (3.3MB) 30 Aug 2014

+

Installation instructions

+

Binary download includes:

+ +

Requires either:

+
    +
  • RISC OS 6; any version
  • +
  • RISC OS 5.07 or later
  • +
  • RISC OS 4.02 or later
  • +
+
+ +
+

NetSurf 3.2 source code (2.9MB) 30 Aug 2014

+

Build instructions

+

Build NetSurf for:

+
    +
  • RISC OS
  • +
  • Linux
  • +
  • Free/NetBSD
  • +
  • Solaris
  • +
  • And more
  • +
+
+
+
+
+ +

Check out the change log to see what's changed since the last release.

+ +

Previous releases

+
+
NetSurf 3.1
+
+ +
+
NetSurf 3.0
+
+ +
+
NetSurf 2.9
+
+ +
+
NetSurf 2.8
+
+ +
+
NetSurf 2.7
+
+ +
+
NetSurf 2.6
+
+ +
+
NetSurf 2.5
+
+ +
+
NetSurf 2.1
+
+ +
+
NetSurf 2.0
+
+ +
+
NetSurf 1.2
+
+ +
+
NetSurf 1.1
+
+ +
+
NetSurf 1.0
+
+ +
+
+ + + + +
+ + +
+ +
+ + + diff --git a/downloads/source/index.en b/downloads/source/index.en deleted file mode 100644 index 8519f1f..0000000 --- a/downloads/source/index.en +++ /dev/null @@ -1,113 +0,0 @@ - - - -NetSurf | Source Code - - - - - - - - - -
- - - -

NetSurf Source Code

- -

The source code for each release version of NetSurf is available.

- - - -

Development version source code

- -

NetSurf's source code is stored in a Git repository. The best way to obtain the latest source code is to check it out of Git. To do so, run the following command:

- -

$ git clone git://git.netsurf-browser.org/netsurf.git

- -

The latest source code can also be viewed via a web interface.

- -

Build Instructions

- -

There are two versions of NetSurf: NetSurf for RISC OS and GTK NetSurf (often referred to as nsgtk).

- -

Unix-like platforms

-

Users of Unix-like platforms, including Linux, should follow the build instructions provided in the Docs/QUICK-START file. This can be found in the source tree or viewed via the Git web interface.

- -

Haiku and BeOS

-

Users of BeOS-like platforms should follow the build instructions provided in the Docs/BUILDING-BeOS file. This can be found in the source tree or viewed via the Git web interface.

- -

AmigaOS

-

Users of AmigaOS should follow the build instructions provided in the Docs/BUILDING-AmigaOS file. This can be found in the source tree or viewed via the Git web interface.

- - - - -
- - -
- -
- - - - diff --git a/downloads/source/index.html b/downloads/source/index.html new file mode 100644 index 0000000..8519f1f --- /dev/null +++ b/downloads/source/index.html @@ -0,0 +1,113 @@ + + + +NetSurf | Source Code + + + + + + + + + +
+ + + +

NetSurf Source Code

+ +

The source code for each release version of NetSurf is available.

+ + + +

Development version source code

+ +

NetSurf's source code is stored in a Git repository. The best way to obtain the latest source code is to check it out of Git. To do so, run the following command:

+ +

$ git clone git://git.netsurf-browser.org/netsurf.git

+ +

The latest source code can also be viewed via a web interface.

+ +

Build Instructions

+ +

There are two versions of NetSurf: NetSurf for RISC OS and GTK NetSurf (often referred to as nsgtk).

+ +

Unix-like platforms

+

Users of Unix-like platforms, including Linux, should follow the build instructions provided in the Docs/QUICK-START file. This can be found in the source tree or viewed via the Git web interface.

+ +

Haiku and BeOS

+

Users of BeOS-like platforms should follow the build instructions provided in the Docs/BUILDING-BeOS file. This can be found in the source tree or viewed via the Git web interface.

+ +

AmigaOS

+

Users of AmigaOS should follow the build instructions provided in the Docs/BUILDING-AmigaOS file. This can be found in the source tree or viewed via the Git web interface.

+ + + + +
+ + +
+ +
+ + + + diff --git a/downloads/themes/index.en b/downloads/themes/index.en deleted file mode 100644 index a61e9c0..0000000 --- a/downloads/themes/index.en +++ /dev/null @@ -1,122 +0,0 @@ - - - -NetSurf | Themes - - - - - - - - - -
- - - -

Themes

- -

NetSurf allows you to change the look and feel of its interface by installing themes. (Note that this feature is currently only supported by the RISC OS version of NetSurf.) If you have designed a theme which you would like to make available here, contact tlsa@netsurf-browser.org.

- -

Select a theme link from below and NetSurf will ask for confirmation before the theme is installed. To revert to a theme you have used previously, open the theme section of NetSurf's Choices and select it from there.

- -

Aquatic

- -

Install theme

-

Author: Matt Aubury (Port: Richard Spencer)

- -

Crystal

- -

Install theme

-

Author: Everaldo Coelho (Port: Marko Oette)

- -

Dinky

- -

Install theme

-

Author: Gavin Wraith

- -

IYONIX

- -

Install theme

-

Author: Richard G. Hallas

- -

Kemp

- -

Install theme

-

Author: Arvid Axelsson (Port: Gavin Wraith)

- -

Qute

- -

Install theme

-

Author: Arvid Axelsson (Port: Stuart Halliday)

- -

Remembrance

- -

Install theme

-

Author: Matt Aubury (Port: Richard Spencer)

- -

RISC OS 5

- -

Install theme

-

Author: Richard G. Hallas

- -

Steel

- -

Install theme

-

Author: Chris Wraight

- - - - -
- - -
- -
- - - diff --git a/downloads/themes/index.html b/downloads/themes/index.html new file mode 100644 index 0000000..a61e9c0 --- /dev/null +++ b/downloads/themes/index.html @@ -0,0 +1,122 @@ + + + +NetSurf | Themes + + + + + + + + + +
+ + + +

Themes

+ +

NetSurf allows you to change the look and feel of its interface by installing themes. (Note that this feature is currently only supported by the RISC OS version of NetSurf.) If you have designed a theme which you would like to make available here, contact tlsa@netsurf-browser.org.

+ +

Select a theme link from below and NetSurf will ask for confirmation before the theme is installed. To revert to a theme you have used previously, open the theme section of NetSurf's Choices and select it from there.

+ +

Aquatic

+ +

Install theme

+

Author: Matt Aubury (Port: Richard Spencer)

+ +

Crystal

+ +

Install theme

+

Author: Everaldo Coelho (Port: Marko Oette)

+ +

Dinky

+ +

Install theme

+

Author: Gavin Wraith

+ +

IYONIX

+ +

Install theme

+

Author: Richard G. Hallas

+ +

Kemp

+ +

Install theme

+

Author: Arvid Axelsson (Port: Gavin Wraith)

+ +

Qute

+ +

Install theme

+

Author: Arvid Axelsson (Port: Stuart Halliday)

+ +

Remembrance

+ +

Install theme

+

Author: Matt Aubury (Port: Richard Spencer)

+ +

RISC OS 5

+ +

Install theme

+

Author: Richard G. Hallas

+ +

Steel

+ +

Install theme

+

Author: Chris Wraight

+ + + + +
+ + +
+ +
+ + + diff --git a/errors/404.en b/errors/404.en deleted file mode 100644 index b0b5409..0000000 --- a/errors/404.en +++ /dev/null @@ -1,55 +0,0 @@ - - - -NetSurf | 404 Error - - - - - - - - - -
- - - -

Error 404: Not found

- -

Sorry, the page you're looking for doesn't exist. Try one of the links below or use the site search facility.

- -
-
NetSurf homepage
-
Introduction to NetSurf and project summary
-
Downloads
-
Download the NetSurf web browser
-
Documentation
-
User information, user guides and developer information
-
Developer area
-
Information for contributors to the project and developers
-
Webmaster area
-
Information for webmasters
-
Contact us
-
All the details you need to get in touch
-
- - - - -
- - -
- -
- - - \ No newline at end of file diff --git a/errors/404.html b/errors/404.html new file mode 100644 index 0000000..b0b5409 --- /dev/null +++ b/errors/404.html @@ -0,0 +1,55 @@ + + + +NetSurf | 404 Error + + + + + + + + + +
+ + + +

Error 404: Not found

+ +

Sorry, the page you're looking for doesn't exist. Try one of the links below or use the site search facility.

+ +
+
NetSurf homepage
+
Introduction to NetSurf and project summary
+
Downloads
+
Download the NetSurf web browser
+
Documentation
+
User information, user guides and developer information
+
Developer area
+
Information for contributors to the project and developers
+
Webmaster area
+
Information for webmasters
+
Contact us
+
All the details you need to get in touch
+
+ + + + +
+ + +
+ +
+ + + \ No newline at end of file diff --git a/projects/hubbub/index.en b/projects/hubbub/index.en deleted file mode 100644 index bfa45e6..0000000 --- a/projects/hubbub/index.en +++ /dev/null @@ -1,86 +0,0 @@ - - - -Hubbub | HTML Parsing Library - - - - - - - -

Hubbub

- -

What is Hubbub?

- -

Hubbub is an HTML5 compliant parsing library, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

- -

The HTML5 specification defines a parsing algorithm, based on the behaviour of mainstream browsers, which provides instructions for how to parse all markup, both valid and invalid. As a result, Hubbub parses web content well.

- -

If you are looking for an HTML5 parser in Python or Ruby, you may wish to look at html5lib.

- -

Features

- -
    -
  • Parses HTML, good and bad
  • -
  • Simple C API
  • -
  • Fast
  • -
  • Character encoding detection
  • -
  • Well-tested (~90% test coverage)
  • -
  • Portable
  • -
  • Shared library
  • -
- -

Future:

- -
    -
  • Well-documented
  • -
  • Available and packaged in major Linux distributions
  • -
- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libhubbub.git

- -

Hubbub is licensed under the MIT Licence.

- -

Releases

- - - -

Contact

- -

If you would like to help develop Hubbub, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/hubbub/index.html b/projects/hubbub/index.html new file mode 100644 index 0000000..bfa45e6 --- /dev/null +++ b/projects/hubbub/index.html @@ -0,0 +1,86 @@ + + + +Hubbub | HTML Parsing Library + + + + + + + +

Hubbub

+ +

What is Hubbub?

+ +

Hubbub is an HTML5 compliant parsing library, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

+ +

The HTML5 specification defines a parsing algorithm, based on the behaviour of mainstream browsers, which provides instructions for how to parse all markup, both valid and invalid. As a result, Hubbub parses web content well.

+ +

If you are looking for an HTML5 parser in Python or Ruby, you may wish to look at html5lib.

+ +

Features

+ +
    +
  • Parses HTML, good and bad
  • +
  • Simple C API
  • +
  • Fast
  • +
  • Character encoding detection
  • +
  • Well-tested (~90% test coverage)
  • +
  • Portable
  • +
  • Shared library
  • +
+ +

Future:

+ +
    +
  • Well-documented
  • +
  • Available and packaged in major Linux distributions
  • +
+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libhubbub.git

+ +

Hubbub is licensed under the MIT Licence.

+ +

Releases

+ + + +

Contact

+ +

If you would like to help develop Hubbub, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/iconv/index.en b/projects/iconv/index.en deleted file mode 100644 index cd5b6b6..0000000 --- a/projects/iconv/index.en +++ /dev/null @@ -1,68 +0,0 @@ - - - -Iconv for RISC OS - - - - - - - -

Iconv for RISC OS

- -

What is Iconv?

- -

Iconv is a module for RISC OS which provides character set conversion akin to that provided by the C iconv() function.

- -

Installation

- -

You must follow these two steps carefully or installation will fail:

- -
-
1. Merge !System directory
-
Use the System merge utility provided by Configure to merge the supplied !System directory with the one on your system.
-
2. Merge !Boot directory
-

Use the Boot merge facility in Configure to merge the supplied !Boot directory with the one on your system.

If there is no Boot merge facility provided on your system, simply drag the supplied !Boot directory over your existing boot structure.

-
- -

Note: if you are unsure how to follow these steps, then please see the pictorial guide to resource installation on the NetSurf site.

- -

Download

- -

Please download iconv and follow the two installation steps above.

- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/iconv.git

- -

Iconv is licensed under the MIT Licence.

- -

Contact

- -

Please report any problems with this module directly to John-Mark Bell.

- - - diff --git a/projects/iconv/index.html b/projects/iconv/index.html new file mode 100644 index 0000000..cd5b6b6 --- /dev/null +++ b/projects/iconv/index.html @@ -0,0 +1,68 @@ + + + +Iconv for RISC OS + + + + + + + +

Iconv for RISC OS

+ +

What is Iconv?

+ +

Iconv is a module for RISC OS which provides character set conversion akin to that provided by the C iconv() function.

+ +

Installation

+ +

You must follow these two steps carefully or installation will fail:

+ +
+
1. Merge !System directory
+
Use the System merge utility provided by Configure to merge the supplied !System directory with the one on your system.
+
2. Merge !Boot directory
+

Use the Boot merge facility in Configure to merge the supplied !Boot directory with the one on your system.

If there is no Boot merge facility provided on your system, simply drag the supplied !Boot directory over your existing boot structure.

+
+ +

Note: if you are unsure how to follow these steps, then please see the pictorial guide to resource installation on the NetSurf site.

+ +

Download

+ +

Please download iconv and follow the two installation steps above.

+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/iconv.git

+ +

Iconv is licensed under the MIT Licence.

+ +

Contact

+ +

Please report any problems with this module directly to John-Mark Bell.

+ + + diff --git a/projects/index.en b/projects/index.en deleted file mode 100644 index 524319f..0000000 --- a/projects/index.en +++ /dev/null @@ -1,74 +0,0 @@ - - - -Projects - - - - - - - -

Projects

- -

Core project

- -

Our main project is NetSurf, an open source web browser. As part of the work on NetSurf, several other resources have been developed. These sub-projects are available separately from NetSurf, so that they may be used by developers of other software.

- -

Sub-projects

- -
-
Hubbub
-
HTML5 compliant parsing library
-
LibCSS
-
CSS parser and selection library
-
LibDOM
-
DOM library
-
LibParserUtils
-
Parser building library
-
LibWapcaplet
-
String internment library
-
Libsvgtiny
-
SVG Tiny library
-
LibNSFB
-
Framebuffer Abstraction library
-
Libnsbmp
-
BMP and ICO decoding library
-
Libnsgif
-
GIF decoding library
-
LibROSprite
-
RISC OS Sprite decoding library
-
Iconv
-
RISC OS character encoding support module
-
RUfl
-
RISC OS Unicode font library
-
TTF2f
-
Font converter to RISC OS format
-
Tinct
-
Advanced RISC OS Sprite plotting module
-
Libpencil
-
RISC OS Drawfile export library
-
- - - diff --git a/projects/index.html b/projects/index.html new file mode 100644 index 0000000..524319f --- /dev/null +++ b/projects/index.html @@ -0,0 +1,74 @@ + + + +Projects + + + + + + + +

Projects

+ +

Core project

+ +

Our main project is NetSurf, an open source web browser. As part of the work on NetSurf, several other resources have been developed. These sub-projects are available separately from NetSurf, so that they may be used by developers of other software.

+ +

Sub-projects

+ +
+
Hubbub
+
HTML5 compliant parsing library
+
LibCSS
+
CSS parser and selection library
+
LibDOM
+
DOM library
+
LibParserUtils
+
Parser building library
+
LibWapcaplet
+
String internment library
+
Libsvgtiny
+
SVG Tiny library
+
LibNSFB
+
Framebuffer Abstraction library
+
Libnsbmp
+
BMP and ICO decoding library
+
Libnsgif
+
GIF decoding library
+
LibROSprite
+
RISC OS Sprite decoding library
+
Iconv
+
RISC OS character encoding support module
+
RUfl
+
RISC OS Unicode font library
+
TTF2f
+
Font converter to RISC OS format
+
Tinct
+
Advanced RISC OS Sprite plotting module
+
Libpencil
+
RISC OS Drawfile export library
+
+ + + diff --git a/projects/libcss/index.en b/projects/libcss/index.en deleted file mode 100644 index bb5122a..0000000 --- a/projects/libcss/index.en +++ /dev/null @@ -1,174 +0,0 @@ - - - -LibCSS | CSS Library - - - - - - - -

LibCSS

- -

What is LibCSS?

- -

LibCSS is a CSS (Cascading Style Sheet) parser and selection engine, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence. For further details, see the readme.

- -

Features

- -
    -
  • Parses CSS, good and bad
  • -
  • Simple C API
  • -
  • Low memory usage
  • -
  • Fast selection engine
  • -
  • Portable
  • -
  • Shared library
  • -
- -

Future:

- -
    -
  • Available and packaged in major Linux distributions
  • -
- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libcss.git

- -

LibCSS is licensed under the MIT Licence.

- -

Releases

- -

Most recent first:

- -
-
LibCSS 0.4.0
-
TarballChanges
-
LibCSS 0.3.0
-
TarballChanges
-
LibCSS 0.2.0
-
TarballChanges
-
LibCSS 0.1.2
-
TarballChanges
-
LibCSS 0.1.1
-
TarballChanges
-
LibCSS 0.1.0
-
TarballChanges
-
LibCSS 0.0.2
-
TarballChanges
-
LibCSS 0.0.1
-
Tarball – First release
-
- -

Changes

- -
-
LibCSS 0.4.0
-
    -
  • Added support for CSS3 overflow-x and overflow-y properties.
  • -
  • Fix to !important handling with play-during property.
  • -
  • Improved test coverage.
  • -
  • API changes made.
  • -
-
LibCSS 0.3.0
-
    -
  • Added support for the writing-mode property.
  • -
  • Significantly optimised selection performance.
  • -
  • Made many fixes and internal clean-ups.
  • -
  • Added support for multilib.
  • -
  • API and ABI changes made.
  • -
-
LibCSS 0.2.0
-
    -
  • Updated example code.
  • -
  • Added support for CSS widows and orphans properties.
  • -
  • Minor selection optimisations.
  • -
  • Several minor fixes.
  • -
  • Updated to use new core buildsystem.
  • -
-
LibCSS 0.1.2
-
    -
  • Avoided interning standard strings for every stylesheet, style tag and style attribute.
  • -
  • Made significant optimisations to style selection.
  • -
  • Fixed case where font-family is unspecified in input CSS.
  • -
  • Added some support for @font-face.
  • -
  • Fixed !important on opacity property.
  • -
  • Added support for parsing CSS3 Multi-column layout properties.
  • -
-
LibCSS 0.1.1
-
    -
  • Improved build tree cleaning.
  • -
  • Fixed build with GCC 4.6.
  • -
  • Added support for selection of page-break properties.
  • -
  • Optimised style selection.
  • -
-
LibCSS 0.1.0
-
    -
  • Fixed destruction of bytecode for clip property.
  • -
  • Added scoping for use from C++ programs.
  • -
  • Removed need for library initialisation and finalisation.
  • -
  • Added support for CSS2 system colours.
  • -
  • Added support for CSS2 system fonts.
  • -
  • Altered external representation of colours to aarrggbb.
  • -
  • Added support for CSS3 rgba() colour specifier.
  • -
  • Added support for CSS3 'transparent' colour keyword.
  • -
  • Added support for CSS3 hsl() and hsla() colour specifiers.
  • -
  • Added support for CSS3 'currentColor' colour keyword.
  • -
  • Added support for CSS3 'opacity' property.
  • -
  • Added support for CSS3 selectors.
  • -
  • Added support for CSS3 namespaces.
  • -
  • Enabled clients to fetch imported stylesheets in parallel.
  • -
  • Made internal bytecode 64-bit safe.
  • -
  • Fixed leaking of strings.
  • -
  • Rewritten property parsers.
  • -
  • Certain property parsers auto-generated at build time.
  • -
  • Added clang build support.
  • -
  • Various portability enhancements.
  • -
  • Fixed selection for pseudo elements.
  • -
  • Added simultaneous selection for base and pseudo elements.
  • -
  • Namespaced all global symbols.
  • -
  • Updated test suite.
  • -
  • Future-proofed ABI.
  • -
  • Ensured fixed point maths saturates instead of overflowing.
  • -
  • Fixed clip property handling.
  • -
  • Fixed selection and cascade of "uncommon" CSS properties.
  • -
  • Added structure versioning for client input.
  • -
-
LibCSS 0.0.2
-
    -
  • Allow stylesheets to be used in multiple contexts simultaneously.
  • -
  • Fix possible stylesheet reuse crash.
  • -
-
LibCSS 0.0.1
-
First release.
-
- -

Contact

- -

If you would like to help develop LibCSS, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libcss/index.html b/projects/libcss/index.html new file mode 100644 index 0000000..bb5122a --- /dev/null +++ b/projects/libcss/index.html @@ -0,0 +1,174 @@ + + + +LibCSS | CSS Library + + + + + + + +

LibCSS

+ +

What is LibCSS?

+ +

LibCSS is a CSS (Cascading Style Sheet) parser and selection engine, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence. For further details, see the readme.

+ +

Features

+ +
    +
  • Parses CSS, good and bad
  • +
  • Simple C API
  • +
  • Low memory usage
  • +
  • Fast selection engine
  • +
  • Portable
  • +
  • Shared library
  • +
+ +

Future:

+ +
    +
  • Available and packaged in major Linux distributions
  • +
+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libcss.git

+ +

LibCSS is licensed under the MIT Licence.

+ +

Releases

+ +

Most recent first:

+ +
+
LibCSS 0.4.0
+
TarballChanges
+
LibCSS 0.3.0
+
TarballChanges
+
LibCSS 0.2.0
+
TarballChanges
+
LibCSS 0.1.2
+
TarballChanges
+
LibCSS 0.1.1
+
TarballChanges
+
LibCSS 0.1.0
+
TarballChanges
+
LibCSS 0.0.2
+
TarballChanges
+
LibCSS 0.0.1
+
Tarball – First release
+
+ +

Changes

+ +
+
LibCSS 0.4.0
+
    +
  • Added support for CSS3 overflow-x and overflow-y properties.
  • +
  • Fix to !important handling with play-during property.
  • +
  • Improved test coverage.
  • +
  • API changes made.
  • +
+
LibCSS 0.3.0
+
    +
  • Added support for the writing-mode property.
  • +
  • Significantly optimised selection performance.
  • +
  • Made many fixes and internal clean-ups.
  • +
  • Added support for multilib.
  • +
  • API and ABI changes made.
  • +
+
LibCSS 0.2.0
+
    +
  • Updated example code.
  • +
  • Added support for CSS widows and orphans properties.
  • +
  • Minor selection optimisations.
  • +
  • Several minor fixes.
  • +
  • Updated to use new core buildsystem.
  • +
+
LibCSS 0.1.2
+
    +
  • Avoided interning standard strings for every stylesheet, style tag and style attribute.
  • +
  • Made significant optimisations to style selection.
  • +
  • Fixed case where font-family is unspecified in input CSS.
  • +
  • Added some support for @font-face.
  • +
  • Fixed !important on opacity property.
  • +
  • Added support for parsing CSS3 Multi-column layout properties.
  • +
+
LibCSS 0.1.1
+
    +
  • Improved build tree cleaning.
  • +
  • Fixed build with GCC 4.6.
  • +
  • Added support for selection of page-break properties.
  • +
  • Optimised style selection.
  • +
+
LibCSS 0.1.0
+
    +
  • Fixed destruction of bytecode for clip property.
  • +
  • Added scoping for use from C++ programs.
  • +
  • Removed need for library initialisation and finalisation.
  • +
  • Added support for CSS2 system colours.
  • +
  • Added support for CSS2 system fonts.
  • +
  • Altered external representation of colours to aarrggbb.
  • +
  • Added support for CSS3 rgba() colour specifier.
  • +
  • Added support for CSS3 'transparent' colour keyword.
  • +
  • Added support for CSS3 hsl() and hsla() colour specifiers.
  • +
  • Added support for CSS3 'currentColor' colour keyword.
  • +
  • Added support for CSS3 'opacity' property.
  • +
  • Added support for CSS3 selectors.
  • +
  • Added support for CSS3 namespaces.
  • +
  • Enabled clients to fetch imported stylesheets in parallel.
  • +
  • Made internal bytecode 64-bit safe.
  • +
  • Fixed leaking of strings.
  • +
  • Rewritten property parsers.
  • +
  • Certain property parsers auto-generated at build time.
  • +
  • Added clang build support.
  • +
  • Various portability enhancements.
  • +
  • Fixed selection for pseudo elements.
  • +
  • Added simultaneous selection for base and pseudo elements.
  • +
  • Namespaced all global symbols.
  • +
  • Updated test suite.
  • +
  • Future-proofed ABI.
  • +
  • Ensured fixed point maths saturates instead of overflowing.
  • +
  • Fixed clip property handling.
  • +
  • Fixed selection and cascade of "uncommon" CSS properties.
  • +
  • Added structure versioning for client input.
  • +
+
LibCSS 0.0.2
+
    +
  • Allow stylesheets to be used in multiple contexts simultaneously.
  • +
  • Fix possible stylesheet reuse crash.
  • +
+
LibCSS 0.0.1
+
First release.
+
+ +

Contact

+ +

If you would like to help develop LibCSS, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libdom/index.en b/projects/libdom/index.en deleted file mode 100644 index 1518d85..0000000 --- a/projects/libdom/index.en +++ /dev/null @@ -1,51 +0,0 @@ - - - -LibDOM | DOM Library - - - - - - - -

LibDOM

- -

What is LibDOM?

- -

LibDOM is an implementation of the W3C DOM, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too. For further details, see the readme.

- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libdom.git

- -

LibDOM is licensed under the MIT Licence.

- -

Contact

- -

If you would like to help develop LibDOM, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libdom/index.html b/projects/libdom/index.html new file mode 100644 index 0000000..1518d85 --- /dev/null +++ b/projects/libdom/index.html @@ -0,0 +1,51 @@ + + + +LibDOM | DOM Library + + + + + + + +

LibDOM

+ +

What is LibDOM?

+ +

LibDOM is an implementation of the W3C DOM, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too. For further details, see the readme.

+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libdom.git

+ +

LibDOM is licensed under the MIT Licence.

+ +

Contact

+ +

If you would like to help develop LibDOM, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libnsbmp/index.en b/projects/libnsbmp/index.en deleted file mode 100644 index dd6dd2f..0000000 --- a/projects/libnsbmp/index.en +++ /dev/null @@ -1,69 +0,0 @@ - - - -Libnsbmp | BMP Decoding Library - - - - - - - -

Libnsbmp

- -

What is Libnsbmp?

- -

Libnsbmp is a decoding library for BMP and ICO image file formats, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

- -

Features

- -
    -
  • Decodes BMP files
  • -
  • Decodes ICO files
  • -
  • Example usage demonstration
  • -
- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libnsbmp.git

- -

Libnsbmp is licensed under the MIT Licence.

- -

Releases

- - - -

Contact

- -

If you would like to discuss Libnsbmp, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libnsbmp/index.html b/projects/libnsbmp/index.html new file mode 100644 index 0000000..dd6dd2f --- /dev/null +++ b/projects/libnsbmp/index.html @@ -0,0 +1,69 @@ + + + +Libnsbmp | BMP Decoding Library + + + + + + + +

Libnsbmp

+ +

What is Libnsbmp?

+ +

Libnsbmp is a decoding library for BMP and ICO image file formats, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

+ +

Features

+ +
    +
  • Decodes BMP files
  • +
  • Decodes ICO files
  • +
  • Example usage demonstration
  • +
+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libnsbmp.git

+ +

Libnsbmp is licensed under the MIT Licence.

+ +

Releases

+ + + +

Contact

+ +

If you would like to discuss Libnsbmp, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libnsfb/index.en b/projects/libnsfb/index.en deleted file mode 100644 index 6fb87f6..0000000 --- a/projects/libnsfb/index.en +++ /dev/null @@ -1,63 +0,0 @@ - - - -LibNSFB | Framebuffer Abstraction Library - - - - - - - -

LibNSFB

- -

What is LibNSFB?

- -

LibNSFB is a framebuffer abstraction library, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

- -

The overall idea of the library is to provide a generic abstraction to a linear section of memory which corresponds to a visible array of pixel elements on a display device. Different colour depths are supported and the library provides routines for tasks such as drawing onto the framebuffer and rectangle copy operations.

- -

LibNSFB currently supports the following as framebuffer providers:

- -
    -
  • Linux framebuffer
  • -
  • X
  • -
  • SDL
  • -
  • VNC
  • -
  • ABLE framebuffer
  • -
- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libnsfb.git

- -

LibNSFB is licensed under the MIT Licence.

- -

Contact

- -

If you would like to help develop LibNSFB, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libnsfb/index.html b/projects/libnsfb/index.html new file mode 100644 index 0000000..6fb87f6 --- /dev/null +++ b/projects/libnsfb/index.html @@ -0,0 +1,63 @@ + + + +LibNSFB | Framebuffer Abstraction Library + + + + + + + +

LibNSFB

+ +

What is LibNSFB?

+ +

LibNSFB is a framebuffer abstraction library, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

+ +

The overall idea of the library is to provide a generic abstraction to a linear section of memory which corresponds to a visible array of pixel elements on a display device. Different colour depths are supported and the library provides routines for tasks such as drawing onto the framebuffer and rectangle copy operations.

+ +

LibNSFB currently supports the following as framebuffer providers:

+ +
    +
  • Linux framebuffer
  • +
  • X
  • +
  • SDL
  • +
  • VNC
  • +
  • ABLE framebuffer
  • +
+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libnsfb.git

+ +

LibNSFB is licensed under the MIT Licence.

+ +

Contact

+ +

If you would like to help develop LibNSFB, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libnsgif/index.en b/projects/libnsgif/index.en deleted file mode 100644 index 456de65..0000000 --- a/projects/libnsgif/index.en +++ /dev/null @@ -1,68 +0,0 @@ - - - -Libnsgif | GIF Decoding Library - - - - - - - -

Libnsgif

- -

What is Libnsgif?

- -

Libnsgif is a decoding library for the GIF image file format, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

- -

Features

- -
    -
  • Decodes GIF files
  • -
  • Example usage demonstration
  • -
- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libnsgif.git

- -

Libnsgif is licensed under the MIT Licence.

- -

Releases

- - - -

Contact

- -

If you would like to discuss Libnsgif, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libnsgif/index.html b/projects/libnsgif/index.html new file mode 100644 index 0000000..456de65 --- /dev/null +++ b/projects/libnsgif/index.html @@ -0,0 +1,68 @@ + + + +Libnsgif | GIF Decoding Library + + + + + + + +

Libnsgif

+ +

What is Libnsgif?

+ +

Libnsgif is a decoding library for the GIF image file format, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

+ +

Features

+ +
    +
  • Decodes GIF files
  • +
  • Example usage demonstration
  • +
+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libnsgif.git

+ +

Libnsgif is licensed under the MIT Licence.

+ +

Releases

+ + + +

Contact

+ +

If you would like to discuss Libnsgif, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libparserutils/index.en b/projects/libparserutils/index.en deleted file mode 100644 index f16e028..0000000 --- a/projects/libparserutils/index.en +++ /dev/null @@ -1,91 +0,0 @@ - - - -LibParserUtils | Parser Building Library - - - - - - - -

LibParserUtils

- -

What is LibParserUtils?

- -

LibParserUtils is a library for building efficient parsers, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

- -

Features

- -
    -
  • No mandatory dependencies (iconv() implementation optional for enhanced charset support)
  • -
  • A number of built-in character set converters
  • -
  • Mapping of character set names to/from MIB enum values
  • -
  • UTF-8 and UTF-16 (host endian) support functions
  • -
  • Various simple data structures (resizeable buffer, stack, vector)
  • -
  • A UTF-8 input stream
  • -
  • Simple C API
  • -
  • Portable
  • -
  • Shared library
  • -
- -

Charset support

- -

LibParserUtils has the following built-in charset converters.

- -
    -
  • UTF-8
  • -
  • UTF-16 (platform-native endian)
  • -
  • ISO-8859-n
  • -
  • Windows-125n
  • -
  • US-ASCII
  • -
- -

Note: LibParserUtils can optionally be built to use iconv(), enabling support for many more charsets. See the readme file for details.

- - -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libparserutils.git

- -

LibParserUtils is licensed under the MIT Licence.

- -

Releases

- - - -

Contact

- -

If you would like to help develop LibParserUtils, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libparserutils/index.html b/projects/libparserutils/index.html new file mode 100644 index 0000000..f16e028 --- /dev/null +++ b/projects/libparserutils/index.html @@ -0,0 +1,91 @@ + + + +LibParserUtils | Parser Building Library + + + + + + + +

LibParserUtils

+ +

What is LibParserUtils?

+ +

LibParserUtils is a library for building efficient parsers, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

+ +

Features

+ +
    +
  • No mandatory dependencies (iconv() implementation optional for enhanced charset support)
  • +
  • A number of built-in character set converters
  • +
  • Mapping of character set names to/from MIB enum values
  • +
  • UTF-8 and UTF-16 (host endian) support functions
  • +
  • Various simple data structures (resizeable buffer, stack, vector)
  • +
  • A UTF-8 input stream
  • +
  • Simple C API
  • +
  • Portable
  • +
  • Shared library
  • +
+ +

Charset support

+ +

LibParserUtils has the following built-in charset converters.

+ +
    +
  • UTF-8
  • +
  • UTF-16 (platform-native endian)
  • +
  • ISO-8859-n
  • +
  • Windows-125n
  • +
  • US-ASCII
  • +
+ +

Note: LibParserUtils can optionally be built to use iconv(), enabling support for many more charsets. See the readme file for details.

+ + +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libparserutils.git

+ +

LibParserUtils is licensed under the MIT Licence.

+ +

Releases

+ + + +

Contact

+ +

If you would like to help develop LibParserUtils, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libpencil/index.en b/projects/libpencil/index.en deleted file mode 100644 index 2d899a2..0000000 --- a/projects/libpencil/index.en +++ /dev/null @@ -1,47 +0,0 @@ - - - -Libpencil | Drawfile export library - - - - - - - -

Libpencil

- -

What is Libpencil?

- -

Libpencil is a library for exporting images in the RISC OS Drawfile format. Drawfile is a vector (object orientated) graphics format. Libpencil is written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

- -

Source code

- -

You can browse the source code via the online interface.

- -

Contact

- -

If you would like to help develop Libpencil, or have questions about the library, please join the NetSurf developer mailing list.

- - - \ No newline at end of file diff --git a/projects/libpencil/index.html b/projects/libpencil/index.html new file mode 100644 index 0000000..2d899a2 --- /dev/null +++ b/projects/libpencil/index.html @@ -0,0 +1,47 @@ + + + +Libpencil | Drawfile export library + + + + + + + +

Libpencil

+ +

What is Libpencil?

+ +

Libpencil is a library for exporting images in the RISC OS Drawfile format. Drawfile is a vector (object orientated) graphics format. Libpencil is written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

+ +

Source code

+ +

You can browse the source code via the online interface.

+ +

Contact

+ +

If you would like to help develop Libpencil, or have questions about the library, please join the NetSurf developer mailing list.

+ + + \ No newline at end of file diff --git a/projects/librosprite/index.en b/projects/librosprite/index.en deleted file mode 100644 index 2d8d0a0..0000000 --- a/projects/librosprite/index.en +++ /dev/null @@ -1,71 +0,0 @@ - - - -LibROSprite | RISC OS Sprite Decoding Library - - - - - - - -

LibROSprite

- -

What is LibROSprite?

- -

LibROSprite is a library for decoding RISC OS Sprite format bitmaps, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

- -

Features

- -
    -
  • Simple C API
  • -
  • Portable
  • -
  • Supports old and new style Sprites
  • -
  • Supports Sprites with custom palettes
  • -
  • Supports standard RISC OS 1-bit, 2-bit, 4-bit and 8-bit palettes
  • -
  • Supports CMYK colour Sprites
  • -
  • Supports traditional 1-bit mask
  • -
  • Supports both alpha channel Sprites (Tinct, Photodesk, Compo), and 8-bit mask Sprites (RISC OS Ltd)
  • -
- -

Future:

- -
    -
  • RISC OS Sprite export?
  • -
  • Available and packaged in major Linux distributions?
  • -
- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/librosprite.git

- -

LibROSprite is licensed under the MIT Licence.

- -

Contact

- -

If you would like to help develop LibROSprite, or have questions about the library, please join the NetSurf developer mailing list.

- - - \ No newline at end of file diff --git a/projects/librosprite/index.html b/projects/librosprite/index.html new file mode 100644 index 0000000..2d8d0a0 --- /dev/null +++ b/projects/librosprite/index.html @@ -0,0 +1,71 @@ + + + +LibROSprite | RISC OS Sprite Decoding Library + + + + + + + +

LibROSprite

+ +

What is LibROSprite?

+ +

LibROSprite is a library for decoding RISC OS Sprite format bitmaps, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

+ +

Features

+ +
    +
  • Simple C API
  • +
  • Portable
  • +
  • Supports old and new style Sprites
  • +
  • Supports Sprites with custom palettes
  • +
  • Supports standard RISC OS 1-bit, 2-bit, 4-bit and 8-bit palettes
  • +
  • Supports CMYK colour Sprites
  • +
  • Supports traditional 1-bit mask
  • +
  • Supports both alpha channel Sprites (Tinct, Photodesk, Compo), and 8-bit mask Sprites (RISC OS Ltd)
  • +
+ +

Future:

+ +
    +
  • RISC OS Sprite export?
  • +
  • Available and packaged in major Linux distributions?
  • +
+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/librosprite.git

+ +

LibROSprite is licensed under the MIT Licence.

+ +

Contact

+ +

If you would like to help develop LibROSprite, or have questions about the library, please join the NetSurf developer mailing list.

+ + + \ No newline at end of file diff --git a/projects/libsvgtiny/index.en b/projects/libsvgtiny/index.en deleted file mode 100644 index af8b6ff..0000000 --- a/projects/libsvgtiny/index.en +++ /dev/null @@ -1,55 +0,0 @@ - - - -Libsvgtiny | SVG Tiny Library - - - - - - - -

Libsvgtiny

- -

What is Libsvgtiny?

- -

Libsvgtiny is an implementation of SVG Tiny, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

- -

- -

The overall idea of the library is to take some SVG as input, and return a list of paths and texts which can be rendered easily. The library does not do the actual rendering. For further details, see the readme.

- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libsvgtiny.git

- -

Libsvgtiny is licensed under the MIT Licence.

- -

Contact

- -

If you would like to help develop Libsvgtiny, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libsvgtiny/index.html b/projects/libsvgtiny/index.html new file mode 100644 index 0000000..af8b6ff --- /dev/null +++ b/projects/libsvgtiny/index.html @@ -0,0 +1,55 @@ + + + +Libsvgtiny | SVG Tiny Library + + + + + + + +

Libsvgtiny

+ +

What is Libsvgtiny?

+ +

Libsvgtiny is an implementation of SVG Tiny, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

+ +

+ +

The overall idea of the library is to take some SVG as input, and return a list of paths and texts which can be rendered easily. The library does not do the actual rendering. For further details, see the readme.

+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libsvgtiny.git

+ +

Libsvgtiny is licensed under the MIT Licence.

+ +

Contact

+ +

If you would like to help develop Libsvgtiny, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/libwapcaplet/index.en b/projects/libwapcaplet/index.en deleted file mode 100644 index 7e07a2f..0000000 --- a/projects/libwapcaplet/index.en +++ /dev/null @@ -1,61 +0,0 @@ - - - -LibWapcaplet | String internment library - - - - - - - -

LibWapcaplet

- -

What is LibWapcaplet?

- -

LibWapcaplet is a string internment library, written in C. It provides reference counted string interment and rapid string comparison functionality. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence. For further details, see the readme.

- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/libwapcaplet.git

- -

LibWapcaplet is licensed under the MIT Licence.

- -

Releases

- - - -

Contact

- -

If you would like to help develop LibWapcaplet, or have questions about the library, please join the NetSurf developer mailing list.

- - - diff --git a/projects/libwapcaplet/index.html b/projects/libwapcaplet/index.html new file mode 100644 index 0000000..7e07a2f --- /dev/null +++ b/projects/libwapcaplet/index.html @@ -0,0 +1,61 @@ + + + +LibWapcaplet | String internment library + + + + + + + +

LibWapcaplet

+ +

What is LibWapcaplet?

+ +

LibWapcaplet is a string internment library, written in C. It provides reference counted string interment and rapid string comparison functionality. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence. For further details, see the readme.

+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/libwapcaplet.git

+ +

LibWapcaplet is licensed under the MIT Licence.

+ +

Releases

+ + + +

Contact

+ +

If you would like to help develop LibWapcaplet, or have questions about the library, please join the NetSurf developer mailing list.

+ + + diff --git a/projects/rufl/index.en b/projects/rufl/index.en deleted file mode 100644 index e5dd733..0000000 --- a/projects/rufl/index.en +++ /dev/null @@ -1,74 +0,0 @@ - - - -RUfl for RISC OS - - - - - - - -

RUfl for RISC OS

- -

What is RUfl?

- -

RUfl is the RISC OS Unicode font library. It provides a high-level interface to rendering and measuring Unicode text. RUfl was developed to enable NetSurf to handle Unicode text on RISC OS. It is available for use in other applications.

- -

- -

Features

- -
    -
  • Uses native fonts and the Font Manager
  • -
  • Takes advantage of Unicode fonts on RISC OS 5
  • -
  • Substitutes missing characters with other fonts
  • -
  • Handles all the complexities – just feed RUfl with UTF-8 text and it does the rest
  • -
  • C and Python interfaces
  • -
  • MIT licence
  • -
- -

Details

- -

RUfl simplifies the task of making best use of the underlying font manager and provides functionality that the font manager does not. Applications (such as NetSurf) just feed RUfl with UTF-8 encoded text and RUfl does the rest for them.

- -

If the underlying font manager is Unicode capable, then RUfl will plot the text using the selected font. If a particular glyph does not exist in the selected font, then it looks up a substitute font that does contain the glyph and uses that. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.

- -

When running on a non-Unicode font manager, RUfl checks whether the selected font contains the glyph, and if it does, which font encoding contains it. It then converts to an 8 bit character code and plots the text using the encoding found. This enables applications to make full use of fonts, such as Homerton and Trinity, that contain additional glyphs in other encodings. If the font did not contain a particular glyph, it looks for another font that does. If it finds one, it does the same encoding lookup and plots it accordingly. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.

- -

RUfl manages to do all this efficiently by maintaining cached lookup tables containing various mappings.

- -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/rufl.git

- -

RUfl is licensed under the MIT Licence.

- -

Contact

- -

Please report any problems with this library to the developer mailing list.

- - - \ No newline at end of file diff --git a/projects/rufl/index.html b/projects/rufl/index.html new file mode 100644 index 0000000..e5dd733 --- /dev/null +++ b/projects/rufl/index.html @@ -0,0 +1,74 @@ + + + +RUfl for RISC OS + + + + + + + +

RUfl for RISC OS

+ +

What is RUfl?

+ +

RUfl is the RISC OS Unicode font library. It provides a high-level interface to rendering and measuring Unicode text. RUfl was developed to enable NetSurf to handle Unicode text on RISC OS. It is available for use in other applications.

+ +

+ +

Features

+ +
    +
  • Uses native fonts and the Font Manager
  • +
  • Takes advantage of Unicode fonts on RISC OS 5
  • +
  • Substitutes missing characters with other fonts
  • +
  • Handles all the complexities – just feed RUfl with UTF-8 text and it does the rest
  • +
  • C and Python interfaces
  • +
  • MIT licence
  • +
+ +

Details

+ +

RUfl simplifies the task of making best use of the underlying font manager and provides functionality that the font manager does not. Applications (such as NetSurf) just feed RUfl with UTF-8 encoded text and RUfl does the rest for them.

+ +

If the underlying font manager is Unicode capable, then RUfl will plot the text using the selected font. If a particular glyph does not exist in the selected font, then it looks up a substitute font that does contain the glyph and uses that. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.

+ +

When running on a non-Unicode font manager, RUfl checks whether the selected font contains the glyph, and if it does, which font encoding contains it. It then converts to an 8 bit character code and plots the text using the encoding found. This enables applications to make full use of fonts, such as Homerton and Trinity, that contain additional glyphs in other encodings. If the font did not contain a particular glyph, it looks for another font that does. If it finds one, it does the same encoding lookup and plots it accordingly. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.

+ +

RUfl manages to do all this efficiently by maintaining cached lookup tables containing various mappings.

+ +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/rufl.git

+ +

RUfl is licensed under the MIT Licence.

+ +

Contact

+ +

Please report any problems with this library to the developer mailing list.

+ + + \ No newline at end of file diff --git a/projects/tinct/index.en b/projects/tinct/index.en deleted file mode 100644 index a535d8f..0000000 --- a/projects/tinct/index.en +++ /dev/null @@ -1,47 +0,0 @@ - - - -Tinct for RISC OS - - - - - - - -

Tinct for RISC OS

- -

What is Tinct?

- -

Tinct provides RISC OS applications with support for high speed rendering of opaque and alpha-blended sprites with optional image enhancement. It was developed to enable NetSurf to plot PNGs with alpha channels and provide on-the-fly error diffusion to display images at their best in screen modes with few colours.

- -

Download

- -

Please visit the Tinct web site to download Tinct.

- -

Contact

- -

Please report any problems with this module directly to Richard Wilson.

- - - \ No newline at end of file diff --git a/projects/tinct/index.html b/projects/tinct/index.html new file mode 100644 index 0000000..a535d8f --- /dev/null +++ b/projects/tinct/index.html @@ -0,0 +1,47 @@ + + + +Tinct for RISC OS + + + + + + + +

Tinct for RISC OS

+ +

What is Tinct?

+ +

Tinct provides RISC OS applications with support for high speed rendering of opaque and alpha-blended sprites with optional image enhancement. It was developed to enable NetSurf to plot PNGs with alpha channels and provide on-the-fly error diffusion to display images at their best in screen modes with few colours.

+ +

Download

+ +

Please visit the Tinct web site to download Tinct.

+ +

Contact

+ +

Please report any problems with this module directly to Richard Wilson.

+ + + \ No newline at end of file diff --git a/projects/ttf2f/index.en b/projects/ttf2f/index.en deleted file mode 100644 index b90c9ff..0000000 --- a/projects/ttf2f/index.en +++ /dev/null @@ -1,69 +0,0 @@ - - - -TrueType, OpenType, etc font to RISC OS font converter - - - - - - - -

TTF2f

- -

What is TTF2f?

- -

TTF2f is a utility for converting TrueType (.ttf), OpenType (.otf), and other font formats supported by FreeType2 to RISC OS fonts. It is written in C, and available under the Simplified BSD Licence.

- -

Features

- -
    -
  • Converts multiple foreign font formats into RISC OS fonts
  • -
  • Handles large fonts with good Unicode coverage
  • -
  • Multi-platform CLI utility
  • -
  • RISC OS GUI front end
  • -
  • Simplified BSD licence
  • -
- -

Download

- -

Please download TTF2f:

- - - -

Source code

- -

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

- -

$ git clone git://git.netsurf-browser.org/ttf2f.git

- -

TTF2f is licensed under the Simplified BSD Licence.

- -

Contact

- -

Please report any problems with this software to the user mailing list. If you would like to contribute to TTF2f, please get in touch via the developer mailing list.

- - - diff --git a/projects/ttf2f/index.html b/projects/ttf2f/index.html new file mode 100644 index 0000000..b90c9ff --- /dev/null +++ b/projects/ttf2f/index.html @@ -0,0 +1,69 @@ + + + +TrueType, OpenType, etc font to RISC OS font converter + + + + + + + +

TTF2f

+ +

What is TTF2f?

+ +

TTF2f is a utility for converting TrueType (.ttf), OpenType (.otf), and other font formats supported by FreeType2 to RISC OS fonts. It is written in C, and available under the Simplified BSD Licence.

+ +

Features

+ +
    +
  • Converts multiple foreign font formats into RISC OS fonts
  • +
  • Handles large fonts with good Unicode coverage
  • +
  • Multi-platform CLI utility
  • +
  • RISC OS GUI front end
  • +
  • Simplified BSD licence
  • +
+ +

Download

+ +

Please download TTF2f:

+ + + +

Source code

+ +

You can browse the source code via the online interface. Alternatively, you can check it out with Git:

+ +

$ git clone git://git.netsurf-browser.org/ttf2f.git

+ +

TTF2f is licensed under the Simplified BSD Licence.

+ +

Contact

+ +

Please report any problems with this software to the user mailing list. If you would like to contribute to TTF2f, please get in touch via the developer mailing list.

+ + + diff --git a/webmasters/index.en b/webmasters/index.en deleted file mode 100644 index 8bcb2c7..0000000 --- a/webmasters/index.en +++ /dev/null @@ -1,95 +0,0 @@ - - - -NetSurf | Webmaster Area - - - - - - - - - -
- - - -

Webmaster area

- -

This page is for webmasters who want to find out about NetSurf. Perhaps you've seen NetSurf in your server logs and want to know more, or maybe users of your web site have commented on some accessibility issue with NetSurf.

- -

What is NetSurf?

- -

NetSurf is a web browser, like Firefox, Internet Explorer and Safari. It is small and fast, so it is used mostly on slower systems, with little memory. You can see screenshots of NetSurf in action in the About NetSurf section.

- -

Standards compliance

- -

NetSurf is aiming for complete standards compliance. You can get some idea of what NetSurf is currently capable of from the progress page.

- -

You should note that NetSurf does not yet support JavaScript, so any JavaScript dependent parts of your site will be inaccessible to NetSurf users. You can test the functionality of your site without JavaScript in more mainstream browsers for by temporarily disabling JavaScript in your browser.

- -

NetSurf's User-Agent string

- -

You can tell if people visit your site using NetSurf by looking for NetSurf's User-Agent string in your server logs. NetSurf's User-Agent string takes the following form:

- -
NetSurf/[version] ([operating system]; [CPU architecture])
- -

So, for example, NetSurf 2.0 running on a RISC OS Iyonix would give,

- -
NetSurf/2.0 (RISC OS; armv5l)
- -

and NetSurf 1.2 running on an Ubuntu Linux machine might give,

- -
NetSurf/1.2 (Linux; i686)
- - - - - -
- - -
- -
- - - diff --git a/webmasters/index.html b/webmasters/index.html new file mode 100644 index 0000000..8bcb2c7 --- /dev/null +++ b/webmasters/index.html @@ -0,0 +1,95 @@ + + + +NetSurf | Webmaster Area + + + + + + + + + +
+ + + +

Webmaster area

+ +

This page is for webmasters who want to find out about NetSurf. Perhaps you've seen NetSurf in your server logs and want to know more, or maybe users of your web site have commented on some accessibility issue with NetSurf.

+ +

What is NetSurf?

+ +

NetSurf is a web browser, like Firefox, Internet Explorer and Safari. It is small and fast, so it is used mostly on slower systems, with little memory. You can see screenshots of NetSurf in action in the About NetSurf section.

+ +

Standards compliance

+ +

NetSurf is aiming for complete standards compliance. You can get some idea of what NetSurf is currently capable of from the progress page.

+ +

You should note that NetSurf does not yet support JavaScript, so any JavaScript dependent parts of your site will be inaccessible to NetSurf users. You can test the functionality of your site without JavaScript in more mainstream browsers for by temporarily disabling JavaScript in your browser.

+ +

NetSurf's User-Agent string

+ +

You can tell if people visit your site using NetSurf by looking for NetSurf's User-Agent string in your server logs. NetSurf's User-Agent string takes the following form:

+ +
NetSurf/[version] ([operating system]; [CPU architecture])
+ +

So, for example, NetSurf 2.0 running on a RISC OS Iyonix would give,

+ +
NetSurf/2.0 (RISC OS; armv5l)
+ +

and NetSurf 1.2 running on an Ubuntu Linux machine might give,

+ +
NetSurf/1.2 (Linux; i686)
+ + + + + +
+ + +
+ +
+ + + diff --git a/welcome/index.en b/welcome/index.en deleted file mode 100644 index 3ede809..0000000 --- a/welcome/index.en +++ /dev/null @@ -1,65 +0,0 @@ - - - -Welcome to NetSurf - - - - - -

NetSurf

- - - -
-

Welcome to NetSurf

- -

NetSurf is a small, fast open source web browser. We are always keen to improve our browser, so get in touch if you run into any problems. Thanks for choosing NetSurf!

- -
-
- - -
-
- - - - -
- - - \ No newline at end of file diff --git a/welcome/index.html b/welcome/index.html new file mode 100644 index 0000000..3ede809 --- /dev/null +++ b/welcome/index.html @@ -0,0 +1,65 @@ + + + +Welcome to NetSurf + + + + + +

NetSurf

+ + + +
+

Welcome to NetSurf

+ +

NetSurf is a small, fast open source web browser. We are always keen to improve our browser, so get in touch if you run into any problems. Thanks for choosing NetSurf!

+ +
+
+ + +
+
+ + + + +
+ + + \ No newline at end of file -- cgit v1.2.3