The following chart compares some relevant features of three text engines for the Macintosh: TextEdit (the original text engine built in every Macintosh), MLTE and WASTE 2.1.
Some features require some explanations:
- I chose to specify 6.0.5 as the minimum system requirement for TextEdit because earlier versions were not fully WorldScript-compliant.
- Both MLTE and WASTE support embedded objects, but in fairly different ways. MLTE has built-in support for embedded pictures, sounds and QuickTime movies, but cannot be extended to support new, user-defined kinds of objects. WASTE, on the other hand, has built-in handlers for pictures and sounds only, but has a much more flexible API that allows client applications to define completely new object types, and their behavior.
- Both MLTE and WASTE support Unicode, but again, in very different ways. MLTE stores text internally in Unicode format and uses ATSUI to render it. WASTE stores text internally in traditional Mac OS encodings and uses QuickDraw text to render it. However, WASTE 2.1 lets you effortlessly insert and extract text in Unicode format, converting it on the fly using the Unicode Converter.
This table summarizes the main features supported by TextEdit, MLTE and WASTE 2.1.
|
TextEdit |
MLTE |
WASTE 2.1 |
Underlying Rendering Layer |
QuickDraw Text |
ATSUI |
QuickDraw Text |
Minimum System Requirement |
6.0.5 |
9.0 |
7.1 |
68K Support |
✓ |
|
✓ |
Carbon Support |
✓ |
✓ |
✓ |
>32K text |
|
✓ |
✓ |
Double-byte Script Support |
✓ |
✓ |
✓ |
Bidirectional Script Support |
✓ |
✓ |
✓ |
Inline Input |
✓ (with TSMTE) |
✓ |
✓ |
Character-Level Formatting (Styles) |
✓ |
✓ |
✓ |
Paragraph-Level Formatting (Rulers) |
|
|
✓ |
Full Justification |
|
✓ |
✓ |
Tabs |
|
✓ |
✓ |
Undo/Redo |
|
✓ |
✓ |
Drag & Drop Editing |
|
✓ |
✓ |
Embedded Objects |
|
✓ |
✓ |
Unicode Support |
|
✓ |
✓ |