Steve, see that unit I posted above. Its only 300 lines long (and I use a lot of comments). You might just need to replace the KMemoRead function, it takes your input data and breaks it down into a list, each item in the list has its text and font details (size, normal, bold, italic). Don't think it handles different font type faces but easily extended.
David