A
layout engine, or
rendering engine, is software that takes
marked upA markup language is a system for annotating a text in a way which is syntactically distinguishable from that text. Examples include revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts, typesetting instructions such those found in troff and LaTeX, and...
content (such as
HTMLHTML, which stands for Hyper Text Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other items. It allows images...
,
XMLXML is a set of rules for encoding documents electronically. It is defined in the produced by the W3C and several other related specifications; all are fee-free open standards....
,
imageA digital image is a representation of a two-dimensional image using ones and zeros . Depending on whether or not the image resolution is fixed, it may be of vector or raster type...
files, etc.) and formatting information (such as
CSSCascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...
,
XSLIn computing, the term Extensible Stylesheet Language is used to refer to a family oflanguages used for transforming and rendering XML documents....
, etc.) and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a
monitorA monitor or display is a piece of electrical equipment which displays images generated by devices such as computers, without producing a permanent record. The monitor comprises the display device, circuitry, and an enclosure...
or a
printerIn computing, a printer is a peripheral which produces a hard copy of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most newer printers, a USB...
. A layout engine is typically used for
web browserA web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
s,
e-mail clientAn email client, email reader, or more formally mail user agent , is a computer program used to manage email .Specifically, the term email client may refer to any agent acting as a client toward an email server, regardless of it being a mail user agent, a relaying server, or a human typing on a...
s, or other applications that require the displaying (and editing) of web contents.
The term "layout engine" only reached popular usage when these became easily separable from the browser.
A
layout engine, or
rendering engine, is software that takes
marked upA markup language is a system for annotating a text in a way which is syntactically distinguishable from that text. Examples include revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts, typesetting instructions such those found in troff and LaTeX, and...
content (such as
HTMLHTML, which stands for Hyper Text Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other items. It allows images...
,
XMLXML is a set of rules for encoding documents electronically. It is defined in the produced by the W3C and several other related specifications; all are fee-free open standards....
,
imageA digital image is a representation of a two-dimensional image using ones and zeros . Depending on whether or not the image resolution is fixed, it may be of vector or raster type...
files, etc.) and formatting information (such as
CSSCascading Style Sheets is a style sheet language used to describe the presentation semantics of a document written in a markup language...
,
XSLIn computing, the term Extensible Stylesheet Language is used to refer to a family oflanguages used for transforming and rendering XML documents....
, etc.) and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a
monitorA monitor or display is a piece of electrical equipment which displays images generated by devices such as computers, without producing a permanent record. The monitor comprises the display device, circuitry, and an enclosure...
or a
printerIn computing, a printer is a peripheral which produces a hard copy of documents stored in electronic form, usually on physical print media such as paper or transparencies. Many printers are primarily used as local peripherals, and are attached by a printer cable or, in most newer printers, a USB...
. A layout engine is typically used for
web browserA web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...
s,
e-mail clientAn email client, email reader, or more formally mail user agent , is a computer program used to manage email .Specifically, the term email client may refer to any agent acting as a client toward an email server, regardless of it being a mail user agent, a relaying server, or a human typing on a...
s, or other applications that require the displaying (and editing) of web contents.
The term "layout engine" only reached popular usage when these became easily separable from the browser. For example,
GeckoGecko is a layout engine currently developed by Mozilla Corporation, known as the layout engine of the Firefox web browser, Mozilla Application Suite, Nvu, Mozilla Thunderbird and many more...
, the
MozillaMozilla is a term used in a number of ways in relation to the now-defunct Netscape Communications Corporation and its related application software, including the Mozilla.org group and its successor the Mozilla Foundation....
project's open-source layout engine, is used by a variety of products derived from the Mozilla code base, including the
FirefoxMozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. Firefox has 23.75% of the recorded usage share of web browsers , making it the second most popular browser in terms of current use worldwide after Microsoft's...
web browser, the
ThunderbirdMozilla Thunderbird is a free, open source, cross-platform e-mail and news client developed by the Mozilla Foundation. The project strategy is modeled after Mozilla Firefox, a project aimed at creating a web browser...
E-mail client, and
SeamonkeyMozilla SeaMonkey may refer to:* the Mozilla Application Suite, an Internet suite from The Mozilla Foundation codenamed "Seamonkey" and often referred to simply as "Mozilla"...
application suite.
TridentTrident is the name of the layout engine for the Microsoft Windows version of Internet Explorer. It was first introduced with the release of Internet Explorer version 4.0 in October 1997; it has been steadily upgraded and remains in use today...
, the layout engine from
Internet ExplorerWindows Internet Explorer , is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems starting in 1995...
, is used by many applications on the
Microsoft WindowsMicrosoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces...
platform to render HTML, as in
Outlook ExpressOutlook Express was an e-mail/news client that was included with Internet Explorer versions 4.0 through 6.0. As such, it was also bundled with several versions of Microsoft Windows, from Windows 98 to Windows XP, and was available for Windows 95 and Mac OS 9. In Windows Vista, Outlook Express is...
, some versions of
Microsoft OutlookMicrosoft Office Outlook or Outlook is a personal information manager from Microsoft. The 2007 version is available both as a separate application as well as a part of the Microsoft Office suite....
, and the mini-browsers in
WinampWinamp is a proprietary media player written by Nullsoft, now a subsidiary of AOL. It is skinnable, multi-format freeware/shareware.Winamp was first released by Justin Frankel in 1997. Current Winamp development is credited to Ben Allison and Maksim Tyrtyshny...
and
RealPlayerRealPlayer is a closed source cross-platform media player by RealNetworks that plays a number of multimedia formats including MP3, MPEG-4, QuickTime, Windows Media, and multiple versions of proprietary RealAudio and RealVideo formats....
.
Similarly, Opera Software's proprietary
PrestoPresto is a layout engine for the Opera web browser developed by Opera Software. After several public betas and technical previews, it was released on January 28, 2003 in Opera 7.0 for Windows; it is the browser's current layout engine. Presto is dynamic: the page or parts of it can be re-rendered...
engine is licensed to a number of other software vendors, as well as being used in Opera's own
OperaOpera is a web browser and internet suite developed by the Opera Software company. The browser handles common Internet-related tasks such as displaying websites, sending and receiving e-mail messages, managing contacts, IRC online chatting, downloading files via BitTorrent, and reading web feeds...
web browser, and KDE's open-source
KHTMLKHTML is the HTML layout engine developed by the KDE project. It is the engine used by the Konqueror web browser. A forked version of KHTML called WebKit is used by several web browsers, among them Safari and Google Chrome...
engine is used both in KDE's own
KonquerorKonqueror is a web browser, file manager, etc. that provides file-viewer functionality to a wide variety of things: local files, files on a remote ftp server, files in a disk image, etc. It is designed as a core part of the K Desktop Environment. It is developed by volunteers and can run on most...
web browser as well as being used, in an adapted form, as the basis for
WebKitWebKit is a layout engine designed to allow web browsers to render web pages. The WebKit engine provides a set of classes to display web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of...
, the rendering engine in Apple's
SafariSafari is a web browser developed by Apple Inc. First released as a public beta on 7 January 2003 on the company's Mac OS X operating system, it became Apple's default browser beginning with Mac OS X v10.3 "Panther". Apple has also made Safari the native browser for the iPhone OS...
and Google's
ChromeGoogle Chrome is a web browser released by Google which uses the WebKit layout engine and application framework. It was first released as a beta version for Microsoft Windows on September 2 2008, and the public stable release was on December 11 2008. The name is derived from the graphical user...
web browsers.
The term
rendering engine can also refer to text rendering engines like
PangoPango is a free and open source computing library for shaping internationalized texts in high quality. Different font backends can be used, allowing cross-platform support.- Utilization :...
,
International Components for UnicodeInternational Components for Unicode is an open source project of mature C/C++ and Java libraries for Unicode support, software internationalization and software globalization. ICU is widely portable to many operating systems and environments. It gives applications the same results on all...
(ICU) or
UniscribeUniscribe is the Microsoft Windows set of services for rendering Unicode-encoded text, especially complex text layout. They are implemented in the DLL USP10.DLL. USP10.dll became available to the public with Windows 2000 and Internet Explorer 5.0...
which make multilingual texts present in proper shape, taking into account bidirectional text, combinations of "basic characters" with accents, and other intricacies of multilingual text.
See also
- Comparison of layout engines
The following tables compare general and technical information for a number of layout engines. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date...
- List of layout engines
- Layout manager
Layout managers are software components used in widget toolkits which have the ability to lay out widgets by their relative positions without using distance units. It is often more natural to define component layouts in this manner than to define their position in pixels or common distance units,...
- Game engine
A game engine is a software system designed for the creation and development of video games. There are many game engines that are designed to work on video game consoles and desktop operating systems such as Microsoft Windows, Linux, and Mac OS X...
- Rendering (computer graphics)
Rendering is the process of generating an image from a model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure. It would contain geometry, viewpoint, texture, lighting, and shading information. The image is a...
- Rasterisation
Rasterization or Rasterisation is the task of taking an image described in a vector graphics format and converting it into a raster image for output on a video display or printer, or for storage in a bitmap file format....
- Raster image processor
A raster image processor is a component used in a printing system which produces a raster image also known as a bitmap. The bitmap is then sent to a printing device for output. The input may be a page description in a high-level page description language such as PostScript, Portable Document...
- Page description language
A page description language is a language that describes the appearance of a printed page in a higher level than an actual output bitmap. An overlapping term is printer control language, but it should not be confused as referring solely to Hewlett-Packard's PCL...