Librevenge Is Suite

Librevenge Is Suite

Librevenge is suite What is new in the world of import filters and what is coming soon Fridrich Štrba LibreOffice Contributor 1 Agenda New developments in the importer world librevenge and libodfgen What is next? 2 New developments in the importer world New babies in the family Libetonyek Support first for Keynote documents Extending support to Numbers and Pages Libe-book Supports a host of e-book file-formats Libfreehand Started the implementing of Freehand import filter Libabw Now we can load documents of our “cousin” … and more still to come 4 New document types Previously only text documents and graphics Text documents based on libwpd API Libwpd, libwps, libmwaw Graphics based on libwpg API Libwpg, libvisio, libcdr, libmspub, libfreehand New presentation support Presentations based on libetonyek API Libwpg's API was too limited for presentations Need to extend to spreadsheets too Libmwaw Libwps 5 libodfgen and librevenge libodfgen ODF Generation was duplicated in several places LibreOffice writerperfect module Standalone writerperfect Calligra sources It makes sense to collect all bugs in the same place OdtGenerator class Implementations of WPXDocumentInterface OdgGenerator class Implementation of WPGPaintInterface OdpGenerator class added later Implementation of KEYPresentationInterface OdfDocumentHandler interface SAX-like interface to output XML in a generic way 7 Librevenge Interface of each document type in different library Libwpd, libwpg, libetonyek The common types in libwpd Libwpd is a text-related library All others had to link to it Consolidating the types and interfaces Interfaces RVNGTextInterface, RVNGDrawingInterface, RVNGPresentationInterface, RVNGSpreadsheetInterface Types RVNGProperty, RVNGPropertyList, RVNGPropertyListVector Extended the capacities RVNGBinaryData, RVNGString, RVNGStringVector 8 Librevenge-stream RVNGInputStream interface Extended to handle structured documents a bit more efficiently Several implementations: RVNGFileStream Implementation using file name RVNGStringStream Implementation using a buffer of data RVNGDirectoryStream Accesses a directory structure as if it was a structured document OLE2 and ZIP documents handled transparently No need to know what is the container type Gives the responsibility to the implementers! 9 Librevenge-generators Useful implementations of the different interfaces Raw Generators Implementations of the different RVNG interfaces printing callbacks called and properties passed Used for regression testing CSV generator for spreadsheets, HTML, Text generators SVG generators Exception: SVG generator for drawings included in librevenge core library Historical reasons ODF generators in libodfgen More complicated Historical reasons 10 Advantage of the design Parser libraries independent and self-contained Much easier life of filter writers Enough to focus on the structure of document to parse Call the interface callbacks that one needs Avoid sucking in unrelated libraries Librevenge itself and libodfgen have boost as build-time dependency No need to link text-related libraries in drawing application Considerable reduction of code duplication Less risk to have bugs fixed in one place and hanging around in another Faster to start a library skeleton 11 What is next? Future file-formats to import? Google Summer of Code The possibility for a student to work with outstanding mentors Valentin Filippov David Tardon Your faithful Several formats ready for straight engineering Apple Numbers, Pages Adobe PageMaker Adobe InDesign … and any other you are interested in 13 Impact within LibreOffice and the known universe Happy users will reward you You will be the hero of the people who can now read their documents... … and they will get on your nerves listing features that are not converted. Users outside LibreOffice Inkscape reuses libvisio and libcdr in 0.49 Calligra reuses libvisio and (possibly) libcdr since 2.5 Great fun within the community 14 QA and Stoning session All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy. 15.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us