Here's the plan as of March 21: - Finish glib and qobject wrappers and get rid of the 80 header files that current constitute the poppler public API. Make sure the APIs are usable for kpdf and evince and other tools that use poppler (thumbnailers, metadata plugins etc.). - Make the cairo backend feature complete and optimize the heck out of it. - Investigate better (that is, normal) text selection. - Use PDF font descriptors to create an FcPattern. Convert to use as much existing infra-structure as possible: - drop t1lib entirely - use fontconfig - dont use /etc/xpdf.rc, add abstraction that can work with GNOME and KDE configuration systems (GConf and ?) - improve cairo backend - use jasper for jpeg2000 decoding? - use littlecms for color management? - use libtiff for ccitt decoding? Performance: - Add simle performance benchmark that takes a pdf and renders every page 100 times or so. Start keeping track of performance. - make color space conversion stuff more sane (right now we hack around some of it in the cairo backend) - move away from getChar to a more read(2) like interface Done: - rename GString etc in goo lib to make it more glib friendly - make splash optional - Install poppler-splash.pc and poppler-cairo.pc to indicate available backends. Alternatively, just hide the backend choice from the application. This is done now, but for this to work properly, we really need multiple .so's. [ This will go away again once we get the wrappers done. ] Jeff Muizelaar's TODO: Short Term: - factor out some of the color conversion code from CairoOutputDev and ArthurOutputDev. - fix patterned text fills. Long Term: - use cairo glyph cache for type3 fonts. - try to use cairo pattern support.