- Rich Text Format
Infobox file format
name = Rich Text Format
icon =
extension = .rtf
mime = text/rtf
type code = 'RTF '
uniform type = public.rtf
magic ={ tf
owner =Microsoft
genre =document file format
container for =
contained by =
extended from =
extended to =
standard = The Rich Text Format (often abbreviated RTF) is a documentfile format developed byMicrosoft in 1987 forcross-platform document interchange. Mostword processor s are able to read and write RTF documents.It should not be confused with
enriched text (mimetype "text/enriched" of RFC 1896) or its predecessor Rich Text (mimetype "text/richtext" of RFC 1341 and ) which are completely different specifications.History
Members of the
Microsoft Word development team,Richard Brodie ,Charles Simonyi , andDavid Luebbert developed the original RTF in the middle to late 1980s. Its syntax was influenced by theTeX typesetting language. The first RTF reader and writer shipped in 1987 as part of Microsoft Word 3.0 forMacintosh , which implemented the version 1.0 RTF specification.All subsequent releases of Microsoft Word for the Macintosh and all versions of Microsoft Word for Windows have included built-in RTF readers and writers which translate from RTF to Word's .doc format and from .doc to RTF.
The format is still owned by Microsoft to this date; as of March 2008 it is up to version 1.9.1.
RTF specification timeline
* 1987 — RTF 1.0
* January 1994 — RTF 1.3
* April 1997 — RTF 1.5
* May 1999 — RTF 1.6
* August 2001 — RTF 1.7
* April 2004 — RTF 1.8
* March 2008 — RTF 1.9.1ample RTF document
As an example, the following RTF code:
{ tf1ansi{fonttblf0fswiss Helvetica;}f0pard This is some { bold} text.par }
would be rendered like this when read by an appropriate word processor:
This is some bold text.
A
backslash () starts an RTF "control code". The
par
control code indicates the end of a paragraph, andswitches to a bold typeface. Braces (
{
and}
) define a "group"; the example uses a group to limit the scope of thecontrol code. Everything else will be treated as "clear text", or the text to be formatted. A valid RTF document is a group starting with the
tf
control code.Character encoding
RTF is an 8-
bit format. That would limit it toASCII , but RTF can encode characters beyond ASCII byescape sequence s. The character escapes are of two types:code page escapes andUnicode escapes. In a code page escape, twohexadecimal digits following an apostrophe are used for denoting a character taken from a Windows code page. For example, if control codes specifyingWindows-1256 are present, the sequence'c8
will encode the Arabic letter beh (ب).If a Unicode escape is required, the control word
u
is used, followed by a 16-bit signed decimal integer giving the Unicode codepoint number. For the benefit of programs without Unicode support, this must be followed by the nearest representation of this character in the specified code page. For example,u1576?
would give the Arabic letter "beh", specifying that older programs which do not have Unicode support should render it as a question mark instead.The control word
uc0
can be used to indicate that subsequent Unicode escape sequences within the current group do not specify a substitution character.Human readability
Unlike most word processing formats, good RTF code can be made
human-readable . That is to say that when an RTF file is opened in a text editor, the text is legible and themarkup language is not too distracting or counter-intuitive. The RTF files produced by most programs, such as MS Word, will contain such a large number of control codes for compatibility with older programs that most files will easily be an order of magnitude larger than the raw text and very difficult to read. Formats such as MS Word's.doc
are, in contrast, binary formats with only a few scraps of legible text.Nowadays, human-readable XML-based formats are becoming more common, but at RTF's release its level of readability was rare among document formats. Note that the XML-based
OpenDocument andOffice Open XML formats are often not immediately human-readable because they are a bundle of several different files within a ZIP archive.Common implementations
Most word processing software implementations support RTF format import and export, often making it a "common" format between otherwise incompatible word processing software.
The
WordPad editor inMicrosoft Windows creates RTF files by default. It once defaulted to the Microsoft Word 6.0 file format, but write support for Word documents was dropped in a security update.The free and open-source word processors
AbiWord ,OpenOffice.org , andKWord can view and edit RTF files.The default editor for
Mac OS X ,TextEdit , can also view and edit RTF files.ee also
*
Rich Text Format Directory rtfd file type
*Enriched text format
*List of document markup languages
*Comparison of document markup languages
*Revisable-Form Text (RFT), part of IBM's Document Content Architecture (DCA)
*TNEF Transport Neutral Encapsulation Format, theMicrosoft Outlook default message format
*RichTextBox , a .NET component that can be used to create rich text
*Itext , a free and open source library for creating and manipulating PDF, RTF and HTML files in Java with ports to C# and J#.External links
* [http://www.microsoft.com/downloads/details.aspx?FamilyId=DD422B8D-FF06-4207-B476-6B5396A18A2B&displaylang=en RTF 1.9.1 specification] (March 2008) (from Microsoft)
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=ac57de32-17f0-4b46-9e4e-467ef9bc5540&displaylang=en RTF 1.8 specification] (April 2004) (from Microsoft)
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=e5b8ebc2-6ad6-49f0-8c90-e4f763e3f04f&DisplayLang=en RTF 1.7 specification] (August 2001) (from Microsoft)
* [http://msdn2.microsoft.com/en-us/library/aa140277(office.10).aspx RTF 1.6 specification] (May 1999) (from Microsoft)
* [http://www.1t3xt.com/about/ iText] iText Home Page
* [http://itextsharp.sourceforge.net/ iTextSharp] iTextSharp Home Page
* [http://www.biblioscape.com/rtf15_spec.htm RTF 1.5 specification] (April 1997) (from biblioscape.com)
* [http://www.snake.net/software/RTF/ RTF 1.0, 1.2, 1.3, 1.5 and 1.7 specifications] (from the RTF Tools open source project)
* [http://latex2rtf.sourceforge.net/RTF-Spec-1.0.txt RTF 1.0 specification] (June 1992) (from the latex2rtf open source project)
* [http://interglacial.com/rtf/ The homepage for the book "RTF Pocket Guide"]
* [http://www.gnu.org/software/unrtf/unrtf.html UnRTF] - open-source program to convert RTF into HTML, LaTeX, PostScript, and other formats
* [http://code.google.com/p/pyrtf-ng/ pyrtf-ng] pyrtf-ng is a set of Python classes that make it possible to produce RTF documents from Python.
* [http://ruby-rtf.rubyforge.org/ Ruby RTF] project for creating Rich Text content via Ruby
* [http://www.phprtf.com/ PhpRtf] project for creating RTF documents withPHP .
* [http://www.flightlab.com/cost/ratfink/index.html RATFINK] a library of Tcl routines for generating RTF (Microsoft Rich Text Format) output, plus a Cost script for converting SGML to RTF. RATFINK is free software.
* [http://search.cpan.org/~sburke/RTF-Writer/ RTF::Writer] aPerl module for generating RTF.
Wikimedia Foundation. 2010.