Layout engine

From Wikipedia, the free encyclopedia

A layout engine, or rendering engine, is software that takes web content (such as HTML, XML, image files, etc.) and formatting information (such as CSS, XSL, etc.) and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer. A layout engine is typically used for web browsers, email clients, 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, Gecko, the Mozilla project's open-source layout engine, is used by a variety of products derived from the Mozilla code base, including the Firefox web browser, the Thunderbird E-mail client, and Seamonkey application suite. Trident, the layout engine from Internet Explorer, is used by many applications on the Microsoft Windows platform to render HTML, as in the mini-browsers in Winamp and RealPlayer.

Similarly, Opera Software's proprietary Presto engine is licenced to a number of other software vendors, as well as being used in Opera's own Opera web browser, and KDE's open-source KHTML engine is used both in KDE's own Konqueror web browser as well as being used, in an adapted form, as the basis for the rendering engine in Apple's Safari web browser.

The word rendering engine can also refer to text rendering engines like Pango or Uniscribe which make multilingual texts present in proper shape. It is not an easy task at all, because there are so many kinds of writing systems all over the world, that some of them are complex in nature, and that there is the need to make them coexist in one text.

[edit] See also