Those of you interested in OOXML may want to have a look at my own implementation of (a subset of) the spec, which is part of a library I've just made available as open source (license is ASLv2):
https://github.com/uxproductivity/DocFormats I started working on this around two years ago as part of UX Write, and it's been included in the version shipping on the iOS app store since February 2013. I've recently finished removing all dependencies on iOS/OS X APIs, and converting all the code from Objective C to plain C99. It now also builds on Linux, with Windows not being too far away. The design is based on bidirectional transformation, as a way of achieving non-destructive editing of foreign file formats. This permits incremental implementation of a given spec without risking data loss due to incomplete features, since unsupported features of a given file format are left untouched on save. UX Write uses HTML as both its native file format and in-memory data model (via WebKit), but relies on DocFormats to read & write .docx files, as well as export to LaTeX. The next major task I plan to work on (hopefully with help from others!) is .odt support. Now that this is open source, the eventual goal is for it to be generally usable by any app which has a need to support multiple file formats, such as OOXML and ODF. Currently it is limited to word processing formats only, but I'm interested in expanding it to cover spreadsheets, presentations, and drawings. Aside from editors, it also could be used for batch conversion tools, document analysis, web publishing, and other purposes. There are minimal dependencies (basically only libxml and zlib), to make it easy to integrate into different apps. I'm not a fan of huge monolithic architectures, and have kept it very independent of other other aspects of UX Write for this very purpose. Note that this means there is no editing or rendering code; it deals solely with conversion. UX Write uses WebKit for the rendering, but there are many other ways in which one could build on top of this. I'll be presenting on this at ApacheCon EU this November - see the talk "Addressing File Format Compatibility in Word Processors" at http://apacheconeu2014.sched.org. Comments/questions are welcome. -- Dr. Peter M. Kelly Founder, UX Productivity pe...@uxproductivity.com http://www.uxproductivity.com/ http://www.kellypmk.net/ PGP key: http://www.kellypmk.net/pgp-key (fingerprint 5435 6718 59F0 DD1F BFA0 5E46 2523 BAA1 44AE 2966)
signature.asc
Description: Message signed with OpenPGP using GPGMail