[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pdf-devel] Re: one or four libraries?
From: |
jemarch |
Subject: |
Re: [pdf-devel] Re: one or four libraries? |
Date: |
Sat, 26 Jan 2008 21:49:03 +0100 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/23.0.50 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI) |
> Right now we are thinking in a suitable sources organization for the
> library. The issue is being discussed in
> http://lists.gnu.org/archive/html/pdf-devel/2008-01/msg00019.html I
> would like to hear your opinion.
Hi! I'm also interested in libgnupdf development - mainly for writing
command-line applications that generate PDFs.
One thing about question 2 that I saw is that if libgnupdf is a single
library, it must link against libcairo. Does this mean that any
application that wrote PDFs using libgnupdf would need a (direct or
indirect) dependency on cairo? Even if they were not concerned about
display at all?
That is certainly a situation to avoid. One of the objectives of the
gnu pdf library is generality: PDF manipulation do not equal to
PDF rendering only.
For this reason, I think that even if the four layers are not completely
split into four separate libraries, there should be at least two; one
containing everything needed for visual rendering, and one at a level
which lets you work with the document format. Does this correspond to
the 'Page' and 'Document' layers?
From the architecture page:
Document Layer
This layer implements the concept of PDF documents as
a collection of pages, annotations, fonts, sounds, 3d artwork,
discussion threads, forms, etc. It is implemented on top of the
object layer. An API is provided to manipulate those abstractions.
Page Layer
This layer implements several abstractions that represent
the contents of a page in a PDF document: text, lines, arcs,
bitmaps, etc. This layer also provides rasterized bitmaps with
page contents, using some graphics library. An API is provided to
both read and write page contents.
As Juan Pedro suggested we could move the "get rasterized bitmaps"
functionality to an additional library that will use libcairo or any
other graphics library.
Behdah, all of this makes sense for you?