Libgepub, tratamiento de ebooks epub con glib y webkit

danigm's picture

Como escribí anteriormente, hace poco me compré un libro electrónico, y entré de lleno en el mundo de los formatos para libros electrónicos.

Por lo visto hay diferentes formatos, pero parece que hay un "estándar" libre que es el epub que está basado en xhtml, no es más que un zip con diferentes xhtml con el texto y algunos ficheros de control.

También he estado trabajando en Evince y casualmente me encontré con un bug sobre dar soporte epub a Evince. Así que ya que estaaba me decidí por intentar implementar algo.

El primer objetivo que me he propuesto es crear una pequeña librería para poder tratar archivos epub con glib. Aún estoy trabajando en esto, pero hoy he llegado a un punto donde tengo algo visible.



libgepub

Lo único que queda por hacer en la librería es que el objeto gepub-doc herede de webkitwebview de tal forma que sea un widget incrustable.

Por otra parte, Evince está pensado para mostrar documentos paginados, y los epub no están paginados, son un xhtml, así que habrá que buscar la forma de dar soporte a Evince para documentos no paginados o buscar la forma de paginar los documentos epub.

Aquí está el código de libgepub, de momento está en mi repo pero si todo va bien lo meteré en gnome que es donde debe estar:

git clone http://wadobo.com/repos/libgepub.git

Se puede probar ejecutando test/gepub-test, cualquier colaboración es bienvenida :P

Comments

4
Juanje's picture

Le he instalado las dependencias que me pedía, intenté compilarlo y no me dio problemas, pero no me aparece el test-gepub compilado :-/

Aquí te pongo la salida del 'make' por si hay alguna pista:
http://pastebin.emergya.info/279

Por cierto, buena idea este proyecto, a ver si puedo echarle un ojo con calma. Molaría tener soporte para epub en evince :-)

danigm's picture

El test sólo se compila si entras en el directorio test y ejecutas make. Esto te generará un ejecutable gepub-test en ese mismo directorio, que es de lo que he puesto la captura de pantalla.

Juanje's picture

Lo intenté la primera vez, pero me daba unos errores de Webkit.

Te lo pego a ver si sabes de dónde viene el error:
http://pastebin.emergya.info/280

Gracias.

danigm's picture

Vale, un pequeño detalle que se me ha olvidado comentar, y que está mal en el configure.ac, es necesario libwebkit 1.3.0 como mínimo, por eso falla.