community-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mehdi Houshmand (Created) (JIRA)" <>
Subject [jira] [Created] (COMDEV-66) [GSoC2012] FOP: Font Library Extraction
Date Mon, 05 Mar 2012 15:31:59 GMT
[GSoC2012] FOP: Font Library Extraction

                 Key: COMDEV-66
             Project: Community Development
          Issue Type: Improvement
          Components: Comdev, Mentoring
            Reporter: Mehdi Houshmand


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).

Mentor: Mehdi Houshmand (


This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message