A
A
Anton Kryukov2014-10-09 16:44:08
Software design
Anton Kryukov, 2014-10-09 16:44:08

How are word processors (rich text editors) arranged from the inside?

Help me find information on the architecture of desktop word processors (meaning text editors that support all sorts of formatting and embedding images, tables and all sorts of other objects, including OLE, in a document). I tried to figure out the OpenOffice code, but failed (they have a painfully complicated architecture, at least I didn’t master it in a week), and on Habré there is mainly information about web WYSIWYG editors, with completely different specifics.
The following questions are of interest:
- in what form the document model is presented
- through what mechanisms and interfaces user editing and program processing of the document (replacement, autoformat) is implemented -
what patterns are used
- what additional data structures facilitate / speed up editing
- what tricks are used when rendering a document
Maybe someone studied this issue in detail or saw sensible articles or tutorials (may be in English)?
Why do I need all this? There was a need to create a specific text editing tool, and none of the widely available ones suited me, so I decided to try to write my own bike. I plan to do it in Python with PyQt (I’ll say right away that QTextEdit is not suitable due to various restrictions!).

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question