TextEdit (API)

From Wikipedia, the free encyclopedia

TextEdit was the name of a collection of application programming interfaces (APIs) in the classic Mac OS for performing text editing.

These APIs were originally designed to provide a common text handling system to support text entry fields in dialog boxes and other simple text edition within the Macintosh GUI. Over time, they were extended to provide more advanced text editing features, but its limited original scope led to fundamental limitations. Apple repeatedly stated that TextEdit was not a word processor, and therefore providing rich text editing was always left to third-party developers.

Basic limitations of TextEdit include:

  • only provides support for 8-bit character sets
  • 16-bit internal indexing limits text to a maximum length of about 32,000 characters
  • use of QuickDraw for glyph rendering limited the maximum height of a text block to 32,767 pixels - this could be encountered well before the character limit was hit with larger font sizes.

The first incarnation of TextEdit provided support for a single style of text only, which was applied to all text in the block. This was more than adequate for its intended use, supporting text entry fields. Later, support was added for styled text so that TextEdit could be used for more complex text editing tasks, such as text editing areas in web browsers, etc. In fact, the 32KB limit (which is not unique to TextEdit - many early text editing APIs featured similar limitations) is one reason why Wikipedia places a 32KB warning on articles that exceeds this amount.

TextEdit remains part of the Carbon APIs on Mac OS X, but has been superseded by numerous other solutions including ATSUI and the NSTextView and related classes within Cocoa.