Links (web browser)


Links is an open source text and graphic web browser with a pull-down menu system. It renders complex pages, has partial HTML 4.0 support, supports color and monochrome terminals and allows horizontal scrolling.
It is intended for users who want to retain many typical elements of graphical user interfaces in a text-only environment.
The original version of Links was developed by Mikuláš Patočka in the Czech Republic. His group Twibright Labs later developed version 2 of the Links browser, that displays graphics, renders fonts in different sizes, but does not support JavaScript any more. The resulting browser is very fast, but it does not display many pages as they were intended. The graphical mode works even on Unix systems without the X Window System or any other window environment, using either SVGALib or the framebuffer of the system's graphics card.

Graphics stack

The graphics stack has several peculiarities unusual for a web browser. The fonts displayed by Links are not derived from the system, but compiled into the binary as grayscale bitmaps in Portable Network Graphics format. This allows the browser to be one executable file independent of the system libraries. However this increases the size of the executable to about 5 MB.
The fonts are anti-aliased without hinting and for small line pitch an artificial sharpening is employed to increase legibility. Subpixel sampling further increases legibility on LCD displays. This allowed Links to have anti-aliased fonts at a time when anti-aliased font libraries were uncommon.
All graphic elements are first converted from given gamma space through known user gamma setting into a 48 bits per pixel photometrically linear space where they are resampled with bilinear resampling to the target size, possibly taking aspect ratio correction into account. Then the data are passed through high-performance restartable dithering engine which is used regardless of monitor bit depth, i.e., also for 24 bits per pixel colour. This Floyd-Steinberg dithering engine takes into account the gamma characteristics of the monitor and uses 768 KiB of dithering tables to avoid time expensive calculations. A technique similar to self-modifying code, function templates, is used to maximize the speed of the dithering engine without using assembly language optimization, which is non-portable.
Images which are scaled down also use subpixel sampling on LCD to increase level of detail.
The reason for this high quality processing is: provide proper realistic up and down sampling of images, and photorealistic display regardless of the monitor gamma, without colour fringing caused by 8-bit gamma correction built into the X server. It also increases the perceived colour depth over 24 bits per pixel.
Links has graphics drivers for the X Server, Linux framebuffer, svgalib, OS/2 PMShell and AtheOS GUI. This allows it to run in graphics mode even on platforms which don't have X Server.

Forks

ELinks

Experimental/Enhanced Links is a fork of Links led by Petr Baudis. It is based on Links 0.9. It has a more open development and incorporates patches from other Links versions and from Internet users.

Hacked Links

Hacked Links is another version of the Links browser which has merged some of Elinks' features into Links 2.
Andrey Mirtchovski has ported it to Plan 9 from Bell Labs. It is considered a good browser on that operating system, though some users have complained about its inability to cut and paste with the Plan 9 snarf buffer.
, the last release of Hacked Links is that of July 9, 2003 with some further changes unreleased.

Other

Links was also ported to run on the Sony PSP platform as PSPRadio by Rafael Cabezas with the last version released on February 6, 2007.
The BeOS port was updated by François Revol who also added GUI support. It also runs on Haiku.