Developer(s) | Mikuláš Patočka |
---|---|
Initial release | 1999 |
Stable release | |
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 |
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.
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.
This section has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these template messages)
|
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.
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 [update] , the last release of Hacked Links is that of July 9, 2003, with some further changes unreleased. [7]
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.