Google Summer of Code Project Proposal: Font Library Extraction (Re-write)
FOP allows various font formats to be embedded in documents and as such has many classes that facilitate manipulating fonts (reading, embedding and subsetting). These classes, I believe, are too closely coupled to the rest of FOP and would be better served being extracted out into their own module as a fonts library. Modular code design from an OOP angle, allows for better encapsulation and the Single Responsibility principle makes code maintenance much simpler, thus making feature development easier and cheaper. As well as the code benefits, users could benefit from a Fonts library as well since it could be used by other Apache projects since there's no reason for such code to be bound to FOP.
One of the major benefits of this project is that the library already exists, so you've got plenty of battle-hardened code to use as inspiration. That would make all the irritating little bugs easier to handle, and more time/effort can be spent doing the fun stuff like proper code design. Designing the API to a library is no easy task, balancing flexibility with usability and designing this can be very rewarding.
This project would expose applicants to the various fonts specifications (AFP-fonts, TTF, OTF, Type1 fonts, PostScript fonts etc). It would teach how to design enterprise quality code to standardized specifications while working with a vibrant opensource community. All code must be written in Java (currently Java5).
This would be discussed and planned with the applicant.