INK is the GNUstep text editor. It is based on the GNUstep implementation of NSText which is still partialy based on work by Daniel B*hringer. His code is still used for the layout, which is now done in the class GSSimpleLayoutManager.

What this application already does is laying out text (plain or RTF). You can modify the selection, format and text as with NeXT’s NSText class. There are problems remaining however (pasting newline characters at the end of a paragraph and performance on very large text)... but these problems will eventually fixed :-)

Since the major rewrite of the GNUstep text system, by Alexander Malmberg, many of these initial problems have been rectified. Also, Axel ’Mikesch’ Katerbau’s recent work on RTFProducer, has added support for saving rtfd files, and greatly improved the conciseness, and correctness of rtf files saved from within Ink.  

Some annotations: 

At implementation level rtf is not treated different from rtfd since both are handled by NSAttributed string.

Words wraps use the selectionGranularity configuration for word/paragraph boundry detection.

Tabs are not treated differently from other characters but nevertheles work as expected thanks to the implementation of -sizeWithAttributes: and -drawAtPoint: (in plain mode tab information comes from [NSParagraphStyle defaultParagraphStyle]).