Rendering engines: Difference between revisions

From OLPC
Jump to navigation Jump to search
(External links)
(Links, platforms)
Line 1: Line 1:
The job of a rendering engine is to take a run of formatted text together with a list of available [[fonts]], and create visual output for screen or printer, following the typographical rules for the [[writing systems]] used. The rules for rendering English are relatively simple. Typewriter-like output is acceptable for some uses. Laying out text in a variable-width font, with justification and hyphenation for line breaking, is a harder task, but one that had been solved on personal computers in the 1980s. Other simple alphabets, such as Cyrillic, Georgian, and Armenian, are no harder to display.
The job of a rendering engine is to take a run of formatted text together with a list of available [[fonts]], and create visual output for screen or printer, following the typographical rules for the [[writing systems]] used. The rules for rendering English are relatively simple. Typewriter-like output is acceptable for some uses. Laying out text in a variable-width font, with justification and hyphenation for line breaking, is a harder task, but one that had been solved on personal computers in the 1980s. Other simple alphabets, such as [[Cyrillic]], [[Georgian]], and [[Armenian]], are no harder to display.


Other writing systems present harder challenges for rendering.
Other writing systems present harder challenges for rendering.
Line 10: Line 10:
The leading rendering engines are
The leading rendering engines are


* [http://www.pango.org/ Pango] Free, LGPL
* [http://www.pango.org/ Pango] Free for Unix, Mac, Windows; LGPL
* [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&cat_id=RenderingGraphite Graphite], Free, LGPL
* [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&cat_id=RenderingGraphite SIL Graphite], Free for Unix, Windows; LGPL
* Trolltech Scribe, (No user-friendly links), Free, GPL (Version 4 of Qt only)
* Trolltech Scribe, (No user-friendly links), Free for Unix, Mac, windows; GPL (Version 4 of Qt only)
* [http://www.microsoft.com/typography/developers/uniscribe/ Microsoft Uniscribe], Proprietary
* [http://www.microsoft.com/typography/developers/uniscribe/ Microsoft Uniscribe], Proprietary, Windows only
* [http://developer.apple.com/internationalization/ Apple ATSUI and MLTE], Proprietary
* [http://developer.apple.com/internationalization/ Apple ATSUI and MLTE], Proprietary, Mac only


(more details to come)
(more details to come)

Revision as of 03:51, 16 August 2006

The job of a rendering engine is to take a run of formatted text together with a list of available fonts, and create visual output for screen or printer, following the typographical rules for the writing systems used. The rules for rendering English are relatively simple. Typewriter-like output is acceptable for some uses. Laying out text in a variable-width font, with justification and hyphenation for line breaking, is a harder task, but one that had been solved on personal computers in the 1980s. Other simple alphabets, such as Cyrillic, Georgian, and Armenian, are no harder to display.

Other writing systems present harder challenges for rendering.

  • Accented letters, in some cases with multiple accents
  • Right-to-left writing (Arabic and Hebrew alphabets and some others)
  • Complex shaping (Arabic and many South Asian alphabets)
  • Large character sets (Primarily Chinese, Japanese, and Korean)

The leading rendering engines are

(more details to come)