As I (semi) understand it, all on-screen text in any Windows application is drawn by the same drawtext functionality. It is possible to hook onto this method and view (or even change) every bit of text being drawn to the display.
How does OS X put text on the screen? Is there a similar way to hook into this API and view all text being drawn, no matter what application or process it is associated with?
EDIT - maybe something to do with Core Text?