RichEdit Versions Update to 7.0

The original RichEdit Versions post covered RichEdit versions 1.0 through 6.0, since 6.0 was the latest version at the time. RichEdit 7.0 will ship with Office 2010, so here’s an update describing what that version adds. Most additions involve math editing/display and play a central role in the math features of OneNote 2010, PowerPoint 2010, Excel 2010, and other OfficeArt applications. Specifically RichEdit is responsible for interfacing to the LineServices and Page/TableServices math handlers, the math font library, and for a significant part of the math user interface in those applications.

The RichEdit team also has spent considerable time working in the OfficeArt and mso (a large Office shared library) code bases, both for math implementation and for extending/maintaining OfficeArt text. The latter is responsible for the text you see in PowerPoint and also in text boxes in Excel and in other Office applications except for Word. Word renders the text in its own text boxes and uses RichEdit only for dialogs and for the math linear format input method (formula autobuildup, manual buildup, and linearization). The RichEdit team spent a fair amount of time supporting the Windows 7 and WinCE versions of RichEdit. May they too have math someday!

Several entries below feature client access via TOM2 (text object model, version 2), so they can be used by clients other than RichEdit just as formula autobuildup and linearization are used by multiple applications. This provides a start in factoring the RichEdit code base into pieces that can be used individually by other programs.


RichEdit 7.0 Additions:

· MathML/OMML reader and writer (client access via TOM2)

· RTF reader and writer math extensions


Math paragraph (equation line breaking and alignment)

· Extensive math keyboard UI to get parity with Word

· Math context menus (client access via TOM2)

· Math template conversions (client access via TOM2)

· Math zone handling for [shift]tab/enter, backspace (client access via TOM2)

· Empty math zone place holder

· Additional linear format constructs to be described in Version 2 of linear format spec.

· Horizontal rule

· Automatic recognition of telephone numbers, email addresses, file names, and URLs with spaces

· Myriad bug fixes (many involving combinations of math with other features, such as hyperlinks and BiDi)