Как устроены изнутри текстовые процессоры (rich text editors)?

Помогите найти информацию по архитектуре десктопных текстовых процессоров (имеются в виду редакторы текста поддерживающие всевозможное форматирование и встраивание в документ изображений, таблиц и всяких прочих объектов, в том числе OLE). Пытался разобраться с кодом OpenOffice, но потерпел фиаско (уж больно сложная у них архитектура, по крайней мере за неделю не осилил), а на Хабре в основном информация о web WYSIWYG редакторах, с совершенно другой спецификой.
Интересуют следующие вопросы:
- в каком виде представлена модель документа
- через какие механизмы и интерфейсы реализуется редактирование пользователем и программная обработка документа (замены, автоформат)
- какие паттерны применяются
- какие дополнительные структуры данных облегчают/ускоряют редактирование
- какие хитрости используются при рендеринге документа
Может кто-то изучал этот вопрос подробно или видел толковые статьи или учебники (may be in English)?

Зачем мне всё это нужно? Возникла необходимость в создании специфичного инструмента для редактирования текста, а ничего из имеющегося в широком доступе мне не подошло, поэтому решил попробовать написать свой велосипед. Делать планирую на Python'е с PyQt (сразу скажу что QTextEdit не подходит в силу различных ограничений!).
  • Вопрос задан
  • 2282 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы