The continuously growing popularity of e-books has created a crowded market for e-book reader devices and applications. Besides buying published e-books, users started to upload their own documents to their e-book reader device as well. There are good tools available for converting documents to e-book format, but it is not easy to find an application that is also capable of editing and formatting, and can handle the special elements of e-books. Usually the requirement contains such a specific set of functionalities that can only be achieved by developing a new e-book editing software.
In an e-book editing software the key component is the text editor control. It needs to be able to process a large amount of text, support formatting and also needs to be extensible to handle special elements. The regular text editing controls were not designed for containing book-sized content, and they are also not easy to extend with non-text objects.
The aim of this thesis is to create a text editing control that remains performant with larger amounts of texts, while having the functionality of editing and formatting elements.
In my thesis I will use low level WPF text rendering and create a text editor control that implements the most common WPF editing commands. After introducing the technology and the classes used during the development, I will describe the extensible data model and explain the implementation of the text editing and formatting functionalities. I will also demonstrate some performance improvement possibilities, and I will compare the created text editor control with the RichTextEditor in WPF. At the end I will mention some possibilities for further development.