Links (web browser)

Last updated
Links
Developer(s) Mikuláš Patočka
Initial release1999;25 years ago (1999)
Stable release
2.29 [1]   OOjs UI icon edit-ltr-progressive.svg / 21 March 2023
Preview release None (N/A) [±]
Written in C
Operating system Windows, macOS, OS/2, Unix-like, OpenVMS, DOS
Type Web browser
License GPL-2.0-or-later
Website links.twibright.com

Links is a free software text and graphical web browser with a pull-down menu system. [2] It renders complex pages, has partial HTML 4.0 support (including tables and frames [3] and support for multiple character sets such as UTF-8), supports color and monochrome terminals, and allows horizontal scrolling.

Contents

It is intended for users who want to retain many typical elements of graphical user interfaces (pop-up windows, menus etc.) 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, which displays graphics, and renders fonts in different sizes (with spatial anti-aliasing), but no longer supports JavaScript (it used to, up to version 2.1pre28). The resulting browser is very fast, but does not display many pages as 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 for a web browser. The fonts displayed by Links are not derived from the system, [4] but compiled into binary as gray scale bitmaps using the Portable Network Graphics (PNG) 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; for small line pitches, they employ an artificial sharpening to increase legibility. Sub-pixel sampling further increases legibility on LCD displays. This allowed Links to have anti-aliased fonts when anti-aliased font libraries were uncommon.

All graphic elements (images and text) are first converted from a given gamma space (according to known or assumed gamma information in PNG, JPEG etc.) through known user gamma setting into a 48 bits pixel photometrically linear space where they are re-sampled with bilinear re-sampling to the target size, possibly taking aspect ratio correction into account. Then the data are passed through a high-performance restartable dithering engine which is used regardless of monitor bit depth, i.e., also for 24 bits per pixel color. This Floyd-Steinberg dithering engine [4] considers 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 maximise the speed of the dithering engine without using assembly language optimization.

Scaled down images also use sub-pixel sampling on LCD to increase the level of detail.

The reason for this high-quality processing is: to provide proper realistic up and downsampling of images, and photorealistic display regardless of the monitor gamma, without color fringing caused by 8-Bit gamma correction built into the X server. It also increases the perceived color depth by over 24 bits per pixel.

Links has graphics drivers for the X Server, Linux framebuffer, svgalib, OS/2 Presentation Manager, and AtheOS GUI.

Forks

Experimental/Enhanced Links (ELinks) is a fork of Links led by Petr Baudis. It is based on Links 0.9. [5] It has a more open development and incorporates patches from other Links versions (such as additional extension scripting in Lua) and from Internet users. [6]

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.[ citation needed ]

As of April 2016, the last release of Hacked Links is that of July 9, 2003, with some further changes unreleased. [7]

Other

Links were also ported to run on the Sony PSP platform as PSPRadio by Rafael Cabezas with the last version (2.1pre23_PSP_r1261) released on February 6, 2007. [8]

The BeOS port was updated by François Revol who also added GUI support. [9] It also runs on Haiku.

Related Research Articles

<span class="mw-page-title-main">History of the graphical user interface</span>

The history of the graphical user interface, understood as the use of graphic icons and a pointing device to control a computer, covers a five-decade span of incremental refinements, built on some constant core principles. Several vendors have created their own windowing systems based on independent code, but with basic elements in common that define the WIMP "window, icon, menu and pointing device" paradigm.

<span class="mw-page-title-main">PNG</span> Family of lossless compression file formats for image files

Portable Network Graphics is a raster-graphics file format that supports lossless data compression. PNG was developed as an improved, non-patented replacement for Graphics Interchange Format (GIF)—unofficially, the initials PNG stood for the recursive acronym "PNG's not GIF".

Gamma correction or gamma is a nonlinear operation used to encode and decode luminance or tristimulus values in video or still image systems. Gamma correction is, in the simplest cases, defined by the following power-law expression:

In digital signal processing, spatial anti-aliasing is a technique for minimizing the distortion artifacts (aliasing) when representing a high-resolution image at a lower resolution. Anti-aliasing is used in digital photography, computer graphics, digital audio, and many other applications.

<span class="mw-page-title-main">Framebuffer</span> Portion of random-access memory containing a bitmap that drives a video display

A framebuffer is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Modern video cards contain framebuffer circuitry in their cores. This circuitry converts an in-memory bitmap into a video signal that can be displayed on a computer monitor.

QuickDraw was the 2D graphics library and associated application programming interface (API) which is a core part of classic Mac OS. It was initially written by Bill Atkinson and Andy Hertzfeld. QuickDraw still existed as part of the libraries of macOS, but had been largely superseded by the more modern Quartz graphics system. In Mac OS X Tiger, QuickDraw has been officially deprecated. In Mac OS X Leopard applications using QuickDraw cannot make use of the added 64-bit support. In OS X Mountain Lion, QuickDraw header support was removed from the operating system. Applications using QuickDraw still ran under OS X Mountain Lion to macOS High Sierra; however, the current versions of Xcode and the macOS SDK do not contain the header files to compile such programmes.

<span class="mw-page-title-main">Dots per inch</span> Measure of dot density

Dots per inch is a measure of spatial printing, video or image scanner dot density, in particular the number of individual dots that can be placed in a line within the span of 1 inch (2.54 cm). Similarly, dots per centimetre refers to the number of individual dots that can be placed within a line of 1 centimetre (0.394 in).

<span class="mw-page-title-main">Color Graphics Adapter</span> IBM PC graphic adapter and display standard

The Color Graphics Adapter (CGA), originally also called the Color/Graphics Adapter or IBM Color/Graphics Monitor Adapter, introduced in 1981, was IBM's first color graphics card for the IBM PC and established a de facto computer display standard.

<span class="mw-page-title-main">Subpixel rendering</span> Technique for increasing apparent display resolution

Subpixel rendering is a method used to increase the effective resolution of a color display device. It takes advantage of each pixel's composition of individually addressable red, green, and blue components adjacent on the display matrix, called subpixels, and uses them as rendering units instead of pixels.

Text mode is a computer display mode in which content is internally represented on a computer screen in terms of characters rather than individual pixels. Typically, the screen consists of a uniform rectangular grid of character cells, each of which contains one of the characters of a character set; at the same time, contrasted to graphics mode or other kinds of computer graphics modes.

<span class="mw-page-title-main">Font rasterization</span> Process of converting text from vector to raster

Font rasterization is the process of converting text from a vector description to a raster or bitmap description. This often involves some anti-aliasing on screen text to make it smoother and easier to read. It may also involve hinting—information embedded in the font data that optimizes rendering details for particular character sizes.

Dither is an intentionally applied form of noise used to randomize quantization error, preventing large-scale patterns such as color banding in images. Dither is routinely used in processing of both digital audio and video data, and is often one of the last stages of mastering audio to a CD.

<span class="mw-page-title-main">Magic User Interface</span> Widget toolkit for AmigaOS

The Magic User Interface is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the system according to personal taste.

Elan Graphics is a computer graphics architecture for Silicon Graphics computer workstations. Elan Graphics was developed in 1991 and was available as a high-end graphics option on workstations released during the mid-1990s as part of the Express Graphics architectures family. Elan Graphics gives the workstation real-time 2D and 3D graphics rendering capability similar to that of even high-end PCs made over ten years after Elan's introduction, with the exception of texture mapping, which had to be performed in software.

An image file format is a file format for a digital image. There are many formats that can be used, such as JPEG, PNG, and GIF. Most formats up until 2022 were for storing 2D images, not 3D ones. The data stored in an image file format may be compressed or uncompressed. If the data is compressed, it may be done so using lossy compression or lossless compression. For graphic design applications, vector formats are often used. Some image file formats support transparency.

<span class="mw-page-title-main">ImageMagick</span> Free and open-source image manipulation software

ImageMagick, invoked from the command line as magick, is a free and open-source cross-platform software suite for displaying, creating, converting, modifying, and editing raster images. ImageMagick was created by John Cristy in 1987, it can read and write over 200 image file formats. It is widely used in open-source applications.

<span class="mw-page-title-main">Linux console</span> Console of the Linux kernel

The Linux console is a system console internal to the Linux kernel. A system console is the device which receives all kernel messages and warnings and which allows logins in single user mode. The Linux console provides a way for the kernel and other processes to send text output to the user, and to receive text input from the user. The user typically enters text with a computer keyboard and reads the output text on a computer monitor. The Linux kernel supports virtual consoles – consoles that are logically separate, but which access the same physical keyboard and display. The Linux console are implemented by the VT subsystem of the Linux kernel, and do not rely on any user space software. This is in contrast to a terminal emulator, which is a user space process that emulates a terminal, and is typically used in a graphical display environment.

<span class="mw-page-title-main">VGA text mode</span> Computer graphics standard from 1987

VGA text mode was introduced in 1987 by IBM as part of the VGA standard for its IBM PS/2 computers. Its use on IBM PC compatibles was widespread through the 1990s and persists today for some applications on modern computers. The main features of VGA text mode are colored characters and their background, blinking, various shapes of the cursor, and loadable fonts. The Linux console traditionally uses hardware VGA text modes, and the Win32 console environment has an ability to switch the screen to text mode for some text window sizes.

<span class="mw-page-title-main">Semigraphics</span> Method used in early text mode video hardware to emulate raster graphics

Text-based semigraphics, pseudographics, or character graphics is a primitive method used in early text mode video hardware to emulate raster graphics without having to implement the logic for such a display mode.

References

  1. "ChangeLog".
  2. Links home page
  3. Legan, Dallas (September 2001), Text-Mode Web Browsers for OS/2, The Southern California OS/2 User Group, retrieved August 16, 2010
  4. 1 2 "Links user documentation". links.twibright.com. Retrieved 2023-09-07.
  5. "ELinks history page" . Retrieved 14 December 2010.
  6. Bolso, Erik Inge (8 March 2005). "2005 Text Mode Browser Roundup". Linux Journal . Retrieved 5 August 2010.
  7. "ChangeLog", Hacked Links Project, October 28, 2003, archived from the original on 2016-04-24, retrieved 2016-04-24
  8. "Home / links2", PSPRadio, SourceForge , retrieved July 9, 2012
  9. Revol, Francois (May 3, 2008), BeOS port patch , retrieved July 9, 2012