RE:como hago un procesador de textos
Con mucho esfuerzo... jaja, ya en serio, si trabajas con Windows, hay un componente común llamado Rich Edit. Este es el que encuentras en aplicaciones como el WordPad. En MFC, es encapsulado en la clase CRichEditCtrl, y tiene su propia vista, CRichEditView. Este control tiene funciones para formatear texto por párrafo, etc. Es decir, las funciones básicas de WordPad o WinWord (Office). Además tiene soporte para (sencillos) dibujos.
En el caso de Unix, hay un componente "similar" al rich edit. De hecho, se distribuye con una aplicación para KDE llamada KWrite. Siendo que es Open Source, no te será difícil conseguir el código del componente.
En cualquier caso, lo que tienes que desarrollar son las funciones aledañas: poner a negritas, cursiva, tamaño de fuentes, etc, e interfasearlo con los componentes existentes (RichEdit o KWrite).