Google's Summer Of Code Project Proposal


Guanglei Song


Project Title

Finalize the RTF output support for Apache FOP

ASF Project

Apache FOP (XSL-FO processor)


Jeremias Märki (<>)


FOP, XSL-FO, formatting objects, RTF, Rich Text Format, document generation


The project is to finalize the RTF converter module of Apache FOP project. The RTF output module has some features missing and a number of bugs. The project will add the features and clear the bugs and make the FOP a production release.


The project will deliver the RTF output module of Apache FOP in fully functional state which makes it usable in day-to-day work to create business documents like letters and forms. Test cases for comparisons and design documents will provide the means to measure the grade of completeness.


FOP (Formatting Objects Processor) is the world's first print formatter driven by XSL formatting objects (XSL-FO) and the world's first output independent formatter.

Now that we're getting close to releasing our rewritten layout engine it would be great to have RTF output releasable, too. The framework for generating RTF already works with many features missing and a number of bugs.

RTF is a quite important format when enterprises want to create documents from business cases. Unlike PDF and PostScript documents, RTF documents can be opened in Microsoft Word, for example, and manually edited by the user which is a frequent desire. The RTF is a very important plus for those who wants to use MS Office as an editor of the XML transformation output, and will make the FOP more popular.


Total 3 months in 4 phases start from 24th June to 22nd August:

  1. Source code and Design document hands on. (one week, 24th June - 30th June)
  2. Design and implement the features missing in the original version ( 4 weeks, 30th June - 31st July)
  3. Interim report due and System testing and debug ( 2 weeks, 1st August - 14th August)
  4. System document and final report ( 1 week, 14th August - 22nd August)

I will leave one week before the cut off day 1st September.



The reason I find the project interesting is because I just finished a project for visual XML transformation based on a graph grammar theory. The project is exciting and will give me a great chance to learn much more about XSL and FO. As a student in Computer Science, I have done a lot of projects in both academic and industry areas. The enthusiasm grows once the projects done while a pity let in my heart that I have never tried one in Open Source area which is a cool and wonderful society full of talented people.

Look back my experience, I am glad I can have this chance to be one of them at least one summer and will do great job on the project. I am good at java programming and XML transformation (the project just finished is in java). That makes me a matched candidate for this project.


University of Texas at Dallas, Dallas, Texas Ph.D candidate of Science in Computer Science GPA 4.0/4.0

Academic Projects

XML Visualization and Transformation Based on Graph Grammar Aug. 2003 ~ Present

Designed and developed a graph transformation system in Java

Implemented visualization and transformation of XML, a first graph grammar based approach

Fault Tolerant CORBA, sponsored by IRISA/INRIA, France Jul. 2000 ~ Mar. 2002

Participated in design of a Fault-Tolerant CORBA system in java

Implemented portable interceptor, the key component to glue active replication modules

CORBA System Sep. 1998 ~ Jul. 2000

Participated in design and development of CORBA system in C++

Implemented IIOP, concurrency control, and IR, performance exceeds Orbix in major test schema

Work experience

TechExcel, Lafayette, CA, U.S. Software Engineer Jun. 2004 ~ Aug. 2004

Synchronizer between CRM system and Outlook.

Huawei Technologies, Shenzheng, China Software Engineer Mar. 2002 ~ Jun. 2002

WCDMA Billing System

Implemented WCDMA standard billing system based on existing 2.5G billing system.

Improved reliability and query performance by cache.



Photography, esp. digital cameras.

Cars, esp. performance car. Well, I don't have one, but they are cool and beautiful.

Personal Website

GoogleSoCFopRtf (last edited 2009-09-20 23:52:44 by localhost)