Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Rich Text Format

Rich Text Format

Discussion
Ask a question about 'Rich Text Format'
Start a new discussion about 'Rich Text Format'
Answer questions from other users
Full Discussion Forum
 
Encyclopedia
The Rich Text Format is a proprietary document
Document file format
A document file format is a text or binary file format for storing documents on a storage media, especially for use by computers.There currently exist a multitude of incompatible document file formats....

 file format
File format
A file format is a particular way that information is encoded for storage in a computer file.Since a disk drive, or indeed any computer storage, can store only bits, the computer must have some way of converting information to 0s and 1s and vice-versa. There are different kinds of formats for...

 with published specification developed by Microsoft Corporation since 1987 for Microsoft products and for cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 document interchange.

Most word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....

s are able to read and write some versions of RTF. There are several different revisions of RTF specification and portability of files will depend on what version of RTF is being used. RTF specifications are changed and published with major Microsoft Word and Office versions.

It should not be confused with enriched text
Enriched text
Enriched text is a formatted text format for e-mail, defined by the IETF in RFC 1896 and associated with the text/enriched MIME type. It is "intended to facilitate the wider interoperation of simple enriched text across a wide variety of hardware and software platforms". Today, enriched text is...

 (mimetype "text/enriched" of RFC 1896) or its predecessor Rich Text (mimetype "text/richtext" of RFC 1341 and 1521); nor with IBM's RFT-DCA (Revisable Format Text-Document Content Architecture) which are completely different specifications.

History



Richard Brodie, Charles Simonyi
Charles Simonyi
Charles Simonyi is a Hungarian-American computer software executive who, as head of Microsoft's application software group, oversaw the creation of Microsoft's flagship Office suite of applications. He now heads his own company, Intentional Software, with the aim of developing and marketing his...

, and David Luebbert, members of the Microsoft Word
Microsoft Word
Microsoft Word is a word processor designed by Microsoft. It was first released in 1983 under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platforms including IBM PCs running DOS , the Apple Macintosh , the AT&T Unix PC , Atari ST , SCO UNIX,...

 development team, developed the original RTF in the middle to late 1980s. Its syntax was influenced by the TeX
TeX
TeX is a typesetting system designed and mostly written by Donald Knuth and released in 1978. Within the typesetting system, its name is formatted as ....

 typesetting language. The first RTF reader and writer shipped in 1987 as part of Microsoft Word 3.0 for Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

, which implemented the RTF version 1.0 specification. All subsequent releases of Microsoft Word for the Macintosh and all versions for Windows can read and write files in RTF format.

Microsoft holds the rights to the RTF format and maintains the format. , the current version is 1.9.1. According to Microsoft's Office 2010 resource kit documentation, Microsoft is discontinuing enhancements to the RTF specification. Further, some new features in Word 2010 and later versions will not save properly to the RTF format.

Version timeline

  • 1987: RTF 1.0
  • January 1994: RTF 1.3
  • September 1995: RTF 1.4
  • 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.1

Version changes

  • RTF 1.4 specification contains all RTF controls introduced by Microsoft applications through the release of Word 7.0.
  • RTF 1.5 specification has been updated to include all new control words introduced by Microsoft Word for Windows 95 version 7.0 and Word 97 for Windows. It also contains a Japanese local RTF specification for the Japanese version of Word, called RTF-J, that is somewhat different from the standard RTF specification.
  • RTF 1.6 specification includes all new control words introduced by Microsoft Word for Windows 95 version 7.0, Word 97 for Windows, Word 98 for the Macintosh, and Word 2000 for Windows, as well as other Microsoft products - Pocket Word and Exchange (used in RTF< >HTML conversions).
  • RTF 1.7 specification includes all new control words introduced by Microsoft Word for Windows 95 version 7.0, Word 97 for Windows, Word 98 for the Macintosh, Word 2000 for Windows, and Word 2002 for Windows, as well as other Microsoft products - Pocket Word and Exchange (used in RTF< >HTML conversions).
  • RTF 1.8 specification contains the latest updates introduced by Microsoft Office Word 2003.
  • RTF 1.9.1 specification contains the latest updates introduced by Microsoft Office Word 2007. It also defines control words introduced by other Microsoft products, such as Pocket Word and RichEdit, Exchange (used in RTF< >HTML conversions), Microsoft Office Outlook (used in RTF E-Mail). Here are some of its new features:
    • use of Custom XML
      XML
      Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

       markup and SmartTags
      Smart tag (Microsoft)
      Smart tags are an early selection-based search feature found in later versions of Microsoft Word, and beta versions of the Internet Explorer 6 web browser by which the application recognizes certain words or types of data and converts it to a hyperlink. Selection-based search allows a user to...

       in an RTF document, custom definition of namespaces
    • for usage of XML, the Office Open XML specification (Ecma-376, Part 4) is referenced
    • custom XML schema
      XML schema
      An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself...

       validation of custom XML markup
    • possibility to define XSL
      Extensible Stylesheet Language
      In computing, the term Extensible Stylesheet Language is used to refer to a family oflanguages used to transform and render XML documents....

       when saving in a single XML file (not defined by specification)
    • Office Open XML Math (OMML) elements in RTF
    • read-only password protection of RTF (WordprocessingML element documentProtection in Office Open XML).

Microsoft Corporation anticipates no further updates to the RTF Specification 1.9.1, but is willing to consider editorial and other non-substantive modifications of the RTF Specification during an associated ISO/IEC 29500 balloting period; but it would not make changes which altered normative functions in this RTF Specification.

Rich Text Format (RTF) specifications are changed and published with major Microsoft Word and Office versions.
RTF specifications for Microsoft Word
RTF version Publication date Microsoft Word version MS Word release date Notes
1.0 1987 Microsoft Word 3 1987 latest revision 6/92; the 1992 revision defines support for Microsoft Object Linking and Embedding
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

 (OLE) objects and Macintosh Edition Manager subscriber objects; supported inclusion of WMF
Windows Metafile
Windows Metafile is a graphics file format on Microsoft Windows systems, originally designed in the 1990s. Windows Metafiles are intended to be portable between applications and may contain both vector graphics and bitmap components....

, PICT
PICT
PICT is a graphics file format introduced on the original Apple Macintosh computer as its standard metafile format. It allows the interchange of graphics , and some limited text support, between Mac applications, and was the native graphics format of QuickDraw.The original version, PICT 1, was...

, Windows Device-dependent bitmap, Windows Device Independent bitmap and OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

 Metafile picture types in a RTF file
1.1 font embedding - font data may be located inside the file
1.2 1993
1.3 January 1994 Microsoft Word 6 1993 1/94 GC0165; discouraged use of Windows Device-independent bitmaps and Windows Device-dependent bitmaps for device-independence and interoperability. Rather, bitmaps should be embedded within Windows Metafiles
1.4 September 1995 Microsoft Word 95/Word 7 1995
1.5 April 1997 Microsoft Word 97/Word 8 1997 Unicode RTF - supports 16-bit Unicode character encoding scheme; defined inclusion of PNG, JPEG
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 and EMF picture types in hexadecimal (the default) or binary format in a RTF file
1.6 May 1999 Microsoft Word 2000/Word 9 1999
1.7 August 2001 Microsoft Word 2002/Word 10 2001 8/2001– Word 2002 RTF Specification
1.8 April 2004 Microsoft Word 2003/Word 11 2003 10/2003– Word 2003 RTF Specification
1.9.1 19. March 2008
(RTF 1.9 - published in January 2007)
Microsoft Word 2007/Word 12 2006 use of XML markup - Custom XML Tags, SmartTags, Math elements in an RTF document - following the Office Open XML specification (Ecma-376, Part 4)

Code example


As an example, the following RTF code:


{\rtf1\ansi{\fonttbl\f0\fswiss Helvetica;}\f0\pard
This is some {\b bold} text.\par
}


is a document which would be rendered like this when read by a program that supports RTF:


This is some bold text.


Braces ({ and }) define a group; groups can be nested. A backslash
Backslash
The backslash is a typographical mark used mainly in computing. It was first introduced to computers in 1960 by Bob Bemer. Sometimes called a reverse solidus or a slosh, it is the mirror image of the common slash....

 (\) starts an RTF control code
Control character
In computing and telecommunication, a control character or non-printing character is a code point in a character set, that does not in itself represent a written symbol.It is in-band signaling in the context of character encoding....

. A valid RTF document is a group that starts with the \rtf control code.

In the example above, the \b control code invokes boldface type; the example uses a group to limit the scope of the boldface control code. All other text characters will be rendered as plain text
Plain text
In computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....

. The \par control code indicates the end of a paragraph.

Character encoding


RTF is an 8-bit
Bit
A bit is the basic unit of information in computing and telecommunications; it is the amount of information stored by a digital device or other physical system that exists in one of two possible distinct states...

 format. That would limit it to ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

, but RTF can encode characters beyond ASCII by escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...

s. The character escapes are of two types: code page
Code page
Code page is another term for character encoding. It consists of a table of values that describes the character set for a particular language. The term code page originated from IBM's EBCDIC-based mainframe systems, but many vendors use this term including Microsoft, SAP, and Oracle Corporation...

 escapes and, starting with RTF 1.5, Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

 escapes. In a code page escape, two hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

 digits following a backslash and typewriter apostrophe
'
The ' symbol is the apostrophe punctuation mark.The ' symbol may also refer to:*Single quotation mark, ', ‘, or ’*Ejective consonant or modifier letter apostrophe, *[[ʻOkina|Okina]], *Modifier letter right half ring, ʾ...

 are used for denoting a character taken from a Windows code page. For example, if the code page is set to Windows-1256
Windows-1256
Windows-1256 is a code page used to write Arabic under Microsoft Windows.  This code page is not compatible with ISO 8859-6 and MacArabic encodings....

, the sequence \'c8 will encode the Arabic letter bāʼ
Bet (letter)
Bet, Beth, Beh, or Vet is the second letter of many Semitic abjads, including Arabic alphabet , Aramaic, Hebrew , Phoenician and Syriac...

 (ب).

For a Unicode escape the control word \u is used, followed by a 16-bit signed decimal
Decimal
The decimal numeral system has ten as its base. It is the numerical base most widely used by modern civilizations....

 integer giving the Unicode UTF-16 code unit 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 bāʼ ب, 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.

Until RTF specification version 1.5 release in 1997, RTF has only handled 7-bit characters directly and 8-bit characters encoded as hexadecimal (using \'xx). RTF control words (since RTF 1.5) generally accept signed 16-bit numbers as arguments. Unicode values greater than 32767 must be expressed as negative numbers. If a Unicode character is outside BMP
Unicode plane
In the Unicode system, planes are groups of numerical values that point to specific characters. Unicode code points are logically divided into 17 planes, each with 65,536 code points. Planes are identified by the numbers 0 to 16decimal, which corresponds with the possible values 00-10hexadecimal...

, it is encoded with a surrogate pair. Support for Unicode was made due to text handling changes in Microsoft Word – Microsoft Word 97 is a partially Unicode-enabled application and it handles text using the 16-bit Unicode character encoding scheme. Microsoft Word 2000 and later versions are Unicode-enabled applications that handle text using the 16-bit Unicode character encoding scheme.

RTF files are usually 7-bit ASCII plain text. RTF consists of control words, control symbols, and groups. RTF files can be easily transmitted between PC based operating systems because are encoded as a text file
Text file
A text file is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists within a computer file system...

 with 7-bit graphic
Graphic character
In ISO/IEC 646 and related standards including ISO 8859 and Unicode, a graphic character is any character intended to be written, printed, or otherwise displayed in a form that can be read by humans...

 ASCII characters. Converters that communicate with Microsoft Word for MS Windows or Macintosh should expect data transfer as 8-bit characters and binary data can contain any 8-bit values.

Human readability


Unlike most word processing formats, concise RTF code can be made human-readable
Human-readable
A human-readable medium or human-readable format is a representation of data or information that can be naturally read by humans.In computing, human-readable data is often encoded as ASCII or Unicode text, rather than presented in a binary representation...

. When an RTF file is opened in a text editor, without formatting or processing of formatting, the alphanumeric
Alphanumeric
Alphanumeric is a combination of alphabetic and numeric characters, and is used to describe the collection of Latin letters and Arabic digits or a text constructed from this collection. There are either 36 or 62 alphanumeric characters. The alphanumeric character set consists of the numbers 0 to...

 text is legible and the markup language
Markup language
A markup language is a modern system for annotating a text in a way that is syntactically distinguishable from that text. The idea and terminology evolved from the "marking up" of manuscripts, i.e. the revision instructions by editors, traditionally written with a blue pencil on authors' manuscripts...

 (formatting) elements not too distracting or counter-intuitive. However, the RTF files produced by most programs, such as Microsoft Word (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
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...

 formats with only a few scraps of legible text.

Human-readable XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

-based formats are becoming more common, but during RTF's initial release, its level of readability was rare among document formats.

RTF is a data format for expressing text documents. It is not really a markup language, as it was never meant for intuitive and easy typing. If some Unicode characters (e.g. letters with diacritics
Diacritics
diacritics is a quarterly academic journal established in 1971 at Cornell University and published by the Johns Hopkins University Press. Articles serve to review recent literature in the field of literary criticism, and have covered topics in gender studies, political theory, psychoanalysis, queer...

, or CJK characters) are used in an RTF document, they are difficult to read, as they appear only as escape codes, such as \'f1 for ñ or \u21563 for 吻. RTF also supports Microsoft OLE
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

 embedded objects and Macintosh Edition Manager subscriber objects (since RTF 1.0) which are not human-readable.

Common uses and interoperability


Most word processing software implementations support RTF format importing and exporting (following some version of RTF specification), and/or direct editing, often making it a "common" format between otherwise incompatible word processing software and operating systems. These factors contribute to its interoperability
Interoperability
Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to...

, but it will depend on what version of RTF is being used. There are several consciously designed or accidentally born RTF dialects. Most of applications that read RTF files silently ignore unknown RTF control words.

RTF is the internal markup language used by Microsoft Word. Overall, since 1987, RTF files may be transferred back and forth between many old and new computer systems (and now over the Internet) despite differences between operating systems and their versions. (But there are some compatibility problems, e.g. between RTF 1.0 1987 and later specifications, or between RTF 1.0-1.4 and RTF 1.5+ in use of Unicode characters.) This makes it a useful format for basic formatted text documents such as instruction manuals, résumés, letters, and modest information documents. These documents at minimum support bold, italic, and underline text formatting. Also typically supported are left-, center-, and right-aligned text. Also, font specification and document margins are supported in RTF documents.

Font and margin defaults, as well as style presets and other functions will vary according to program defaults. There may also be subtle differences perhaps between different versions of the RTF specification implemented in differing programs and program versions. Nevertheless, the RTF format is consistent enough from computer to computer to be considered highly portable and acceptable for cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 use. The format supports metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

 such as title, author, etc. but not all implementations support this.

Objects


Use of Microsoft Object Linking and Embedding (OLE) objects or Macintosh Edition Manager subscriber objects limits the interoperability, because these objects are not widely supported in programs for viewing or editing RTF files (e.g. embedding of other files inside the RTF, such as tables or charts from spreadsheet application). If a software that understands an OLE object is not available, the object is usually replaced by a picture (bitmap representation of the object) or not displayed at all.

Pictures


RTF supports inclusion of JPEG, Portable Network Graphics (PNG), Enhanced Metafile (EMF), Windows Metafile (WMF), Apple PICT, Windows Device-dependent bitmap, Windows Device Independent bitmap and OS/2 Metafile picture types in hexadecimal (the default) or binary format in a RTF file. Not all of these picture types are supported in all RTF readers. When a RTF document is opened in software that does not support the picture type of an inserted picture, such picture is not displayed at all.

RTF writers usually convert inserted pictures from an unsupported picture types (e.g. BMP, TIFF, GIF, etc.) to one of supported picture types (PNG, WMF) or they do not include pictures at all.

For better compatibility with Microsoft products, some RTF writers include the same picture in two different picture types in one RTF file:
  • one of the supported picture types (e.g. JPG or PNG) - it uses either the original format of the inserted graphics file (if this graphics file uses one of RTF-supported formats - such as PNG, JPG) or a RTF-supported picture type created by RTF writer in conversion from RTF-unsupported graphics file (e.g. conversion from BMP or GIF to PNG)
  • a Windows Metafile (WMF) copy of the original picture - for better compatibility with some Microsoft applications (e.g. Wordpad). The Windows Metafile copy is included without any compression.


This method increases the RTF file size rapidly. The RTF specification does not require this method and there are various implementations that include pictures without the WMF copy (e.g. Abiword or Ted).

Fonts


RTF supports embedding
Font embedding
Font embedding is inclusion of font files inside an electronic document. This has been possible with Portable Document Format , Microsoft Word for Windows and some other applications for many years...

 of fonts
Computer font
A computer font is an electronic data file containing a set of glyphs, characters, or symbols such as dingbats. Although the term font first referred to a set of metal type sorts in one style and size, since the 1990s it is generally used to refer to a scalable set of digital shapes that may be...

 used in the document, but this feature is not widely supported in software implementations.

RTF also supports generic font family names used for font substitution
Font substitution
Font substitution is the process of using one font in place of another when the intended font either is not available or does not contain glyphs for the required characters.Font substitution can be aided by:...

: roman (serif
Serif
In typography, serifs are semi-structural details on the ends of some of the strokes that make up letters and symbols. A typeface with serifs is called a serif typeface . A typeface without serifs is called sans serif or sans-serif, from the French sans, meaning “without”...

), swiss (sans-serif
Sans-serif
In typography, a sans-serif, sans serif or san serif typeface is one that does not have the small projecting features called "serifs" at the end of strokes. The term comes from the French word sans, meaning "without"....

), modern (monospace), script, decorative, technical. This feature is not widely supported for font substitution, e.g. in OpenOffice.org or Abiword.

Annotations


RTF specification supports annotations (comments in documents) since version 1.0. RTF 1.7 specification defined some new features for annotations: date stamp (there was previously only "time stamp") and parents of annotations.

However, many implementations do not support RTF annotations, e.g. OpenOffice.org (up to version 3.3), LibreOffice (up to version 3.3.2 no import support; only export), Abiword (up to versions 2.6.x; support added in 2.8), KWord (up to versions 2.x), Ted or Microsoft Wordpad. When a RTF document with annotations is opened in a software that does not support RTF annotations, they are not displayed at all. Similarly, when a document with annotations is saved as RTF in a software that does not support RTF annotations, annotations are not preserved in the RTF file. (For example, OpenOffice.org 1.x-3.3 or KWord support annotations in some file formats (e.g. in ODF, SXW), but do not support RTF annotations.) Some implementations may hide annotations by default or require some user action to display them - e.g. in Abiword since version 2.8 or in IBM Lotus Symphony (up to version 1.3).

Microsoft products do not support comments within footers, footnotes or headers. Inserting a comment within headers, footers, or footnotes may result in a corrupted RTF document.

RTF specification also supports footnotes (not to be confused with annotations), which are widely supported in RTF implementations (e.g. in OpenOffice.org, Abiword, KWord, Ted, but not in Wordpad).

Drawing objects


RTF 1.2 specification defined use of drawing objects such as rectangles, ellipses, lines, arrows, polygons and various other shapes. RTF 1.5 specification introduced many new control words for drawing objects. RTF drawing objects are also called "shapes" since RTF 1.5.

However, RTF drawing objects are not supported in many RTF implementations, such as OpenOffice.org, LibreOffice, KWord, Abiword or IBM Lotus Symphony (up to version 1.3 only some limited support; improved in later versions). When a RTF document with drawing objects is opened in a software that does not support RTF drawing objects, they are not displayed at all. Some implementations will also not display any texts inside drawing objects. Similarly, when a document with drawing objects is saved as RTF in a software that does not support RTF drawing objects, these are not preserved in the RTF file. (For example, OpenOffice.org supports drawing objects in some file formats (e.g. in ODF, SXW, DOC), but do not support RTF drawing objects.)

Security concerns


Unlike Microsoft Word's DOC
DOC (computing)
In computing, DOC or doc is a filename extension for word processing documents; most commonly for Microsoft Word. Historically, the extension was used for documentation in plain-text format, particularly of programs or computer hardware, on a wide range of operating systems...

 format, as well as the newer Office Open XML and OpenDocument
OpenDocument
The Open Document Format for Office Applications is an XML-based file format for representing electronic documents such as spreadsheets, charts, presentations and word processing documents....

 formats, RTF does not support macro
Macro
A macro in computer science is a rule or pattern that specifies how a certain input sequence should be mapped to an output sequence according to a defined procedure...

s. For this reason, RTF is recommended over these formats when the spread of computer virus
Computer virus
A computer virus is a computer program that can replicate itself and spread from one computer to another. The term "virus" is also commonly but erroneously used to refer to other types of malware, including but not limited to adware and spyware programs that do not have the reproductive ability...

es is a concern. However, having the .RTF extension does not guarantee that a file is safe, since Microsoft Word will open standard DOC files renamed with an RTF extension and run any contained macros as usual. Manual examination of a file in a plain text editor such as Notepad, or use of the file command in UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

-like systems, is required to determine whether or not a suspect file is really RTF.

Implementations


Each of RTF implementations usually implements only some versions or subsets of RTF specification. Many of the available RTF converters cannot understand all new features in the latest RTF specifications.

The WordPad
WordPad
WordPad is a basic word processor that is included with almost all versions of Microsoft Windows from Windows 95 upwards. It is more advanced than Notepad but simpler than Microsoft Works Word Processor and Microsoft Word. It replaced Microsoft Write....

 editor in Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 creates RTF files by default. It once defaulted to the Microsoft Word 6.0
Microsoft Word
Microsoft Word is a word processor designed by Microsoft. It was first released in 1983 under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platforms including IBM PCs running DOS , the Apple Macintosh , the AT&T Unix PC , Atari ST , SCO UNIX,...

 file format, but write support for Word documents (.doc) was dropped in a security update. Read support was also dropped in Windows 7. WordPad does not support some RTF features, such as headers and footers. RTF is also the data format for "rich text controls" in MS Windows APIs.

The default text editor for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, TextEdit
TextEdit
TextEdit is a simple, open source word processor and text editor, first featured in NeXT's NEXTSTEP and OPENSTEP. It is now distributed with Mac OS X since Apple Inc.'s acquisition of NeXT, and available as a GNUstep application for other Unix-compatible operating systems such as Linux...

, can also view, edit and save RTF files as well as RTFD
Rich Text Format Directory
Rich Text Format Directory, also known as RTFD , or Rich Text Format with Attachments, is a primary document format of TextEdit, an application native to NeXTSTEP and Mac OS X which has also been ported to other versions of Unix...

 files. TextEdit currently (as of July 2009) has limited ability to edit RTF document margins. Much older Mac word processing application programs such as MacWrite
MacWrite
MacWrite was a word processor application released along with the first Apple Macintosh systems in 1984. It was the first such program that was widely available to the public to offer WYSIWYG operation, with multiple fonts and styles...

 and WriteNow
WriteNow
WriteNow was one of the two original word processor applications developed for the launch of the Apple Macintosh in 1984, and was the primary word processor for computers manufactured by NeXT....

 were able to view, edit, and save RTF files as well.

The free
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 and open-source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 word processors AbiWord
AbiWord
AbiWord is a free and open source software word processor. It was originally started by SourceGear Corporation as the first part of a proposed AbiSuite. Development stopped when SourceGear changed their focus to Internet appliances. AbiWord was adopted by some open source developers and AbiWord...

, OpenOffice.org
OpenOffice.org
OpenOffice.org, commonly known as OOo or OpenOffice, is an open-source application suite whose main components are for word processing, spreadsheets, presentations, graphics, and databases. OpenOffice is available for a number of different computer operating systems, is distributed as free software...

, KWord
KWord
Calligra Words is a free word processor, part of Calligra Suite and developed by KDE.The text-layout scheme in Words is based on frames, making it similar to FrameMaker by Adobe. These can be placed anywhere on the page, and can incorporate text, graphics and embedded objects...

, and Bean
Bean (word processor)
Bean is an open source, free software word processor currently available for Mac OS X only. According to its creator James Hoover, it is not meant to replace Microsoft Word, but to be a lean word processor that was beautiful and user friendly...

 can view, edit and save RTF files. (Abiword and OpenOffice.org use RTF 1.6 when a new file is saved.) RTF format is also used in Ted
Ted (word processor)
Ted is a word processor for the X Window System environment, which runs on Linux and other Unix-like systems. Developed primarily by Mark de Does, Ted is a lightweight yet full-featured word processor....

 word processor. These implementations might be interesting for those who need to learn how to implement RTF support in their project and link it to other application functionality.

The open-source script rtf2xml can partially convert RTF to XML.

SIL International
SIL International
SIL International is a U.S.-based, worldwide, Christian non-profit organization, whose main purpose is to study, develop and document languages, especially those that are lesser-known, in order to expand linguistic knowledge, promote literacy, translate the Christian Bible into local languages,...

’s Toolbox freeware application for developing and publishing dictionaries uses RTF as its most common form of document output. RTF files produced by Toolbox are designed to be used in Microsoft Word
Microsoft Word
Microsoft Word is a word processor designed by Microsoft. It was first released in 1983 under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platforms including IBM PCs running DOS , the Apple Macintosh , the AT&T Unix PC , Atari ST , SCO UNIX,...

, but can also be used by other RTF-aware word processors.

RTF can be used on some ebook readers because of its interoperability, simplicity, and low CPU processing requirements, and some devices, including BeBook, work best with this format.

Criticism


The Rich Text Format was the standard file format for text-based documents in applications developed for Microsoft Windows. Microsoft did not initially make the RTF specification publicly available, making it difficult for competitors to develop document conversion features in their applications. Because Microsoft's developers had access to the specification, Microsoft's applications had better compatibility with the format. When Microsoft changed the RTF specification, Microsoft's own applications had a lead in time-to-market, because competitors had to redevelop their applications after studying the newer version of the format. Novell alleged that Microsoft's practices were anticompetitive in its antitrust complaint against Microsoft. The RTF specifications lack some of the semantic definitions necessary to read, write and modify documents.

See also

  • Rich Text Format Directory
    Rich Text Format Directory
    Rich Text Format Directory, also known as RTFD , or Rich Text Format with Attachments, is a primary document format of TextEdit, an application native to NeXTSTEP and Mac OS X which has also been ported to other versions of Unix...

     rtfd file type
  • Enriched text
    Enriched text
    Enriched text is a formatted text format for e-mail, defined by the IETF in RFC 1896 and associated with the text/enriched MIME type. It is "intended to facilitate the wider interoperation of simple enriched text across a wide variety of hardware and software platforms". Today, enriched text is...

     format
  • List of document markup languages
  • Comparison of document markup languages
    Comparison of document markup languages
    The following tables compare general and technical information for a number of document markup languages. Please see the individual markup languages' articles for further information.-General information:...

  • Revisable-Form Text
    Revisable-Form Text
    Revisable-Form Text is part of IBM's Document Content Architecture . It is sometimes referred to as Revisable Format Text...

     (RFT), part of IBM's Document Content Architecture (DCA)
  • TNEF Transport Neutral Encapsulation Format, the Microsoft Outlook
    Microsoft Outlook
    Microsoft Outlook is a personal information manager from Microsoft, available both as a separate application as well as a part of the Microsoft Office suite...

     default message format

External links

  • RTF 1.9.1 specification, March 2008, from Microsoft
  • RTF 1.8 specification, April 2004, from Microsoft
  • RTF 1.7 specification, August 2001, from Microsoft
  • RTF 1.6 specification, May 1999, from Microsoft
  • RTF 1.5 specification, April 1997, from biblioscape.com
  • RTF 1.0, 1.2, 1.3, 1.5 and 1.7 specifications, from the RTF Tools open-source project
  • RTF 1.0 specification, June 1992, from the latex2rtf open-source project
  • RTF Pocket Guide, book homepage
  • UnRTF, open-source program to convert RTF into HTML, LaTeX, PostScript, and other formats
  • pyth Python
    Python (programming language)
    Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

     library to create and convert documents in RTF and other formats
  • Ruby RTF project to create Rich Text content via Ruby
    Ruby (programming language)
    Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...

  • RaTFink a library of Tcl routines, free software, to generate RTF output, and a Cost script to convert SGML to RTF
  • RTF::Writer a Perl
    Perl
    Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

     module to generate RTF
  • PhpRtf project to create RTF documents via PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...

  • RTFGen project to create RTF documents via pure PHP
    PHP
    PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...