jueves, 22 de enero de 2009

Trantando de crear libros para celular usando Linux

Como buen apasionado de la lectura que soy, no solo leo libros en papel. Bueno, es de esperarse de alguien como yo que esta todo el día boludeando con cosas tecnológicas.

Además de leer muchos libros impresos, tuve mi época de usar la Palm para el mismo hecho. O sea, tomaba los libros en algún formato y los convertía en PDB para leerlos con la aplicación de mi Palm. Pero con la compra de mi celu nuevo, el Nokia 6131 e investigando un poquito, me di cuenta que los celus, entre otras cosas que se pueden hacer, son usados para leer texto. Y eso me dedique en estos últimos días.

Con solo googlear un poco, encontré muchísimas paginas para bajar libros en formato JAR, o sea, dentro de una aplicación de Java. Pero me dije: "si, hay bastantes libros, pero si no encuentro uno, lo quiero hacer yo mismo". Entonces me puse a buscar alguna aplicación para hacerlo yo mismo. Y lo encontré.

Hay varios, pero el mas piola parece ser un programa de origen ruso llamado TequilaCat que ya va por la versión 2.2.20 y funciona bastante bien. Pero hay un pequeño problema: es solo para windows. Lo corrí en Linux con Wine y levanta lo mas bien. Aunque primero lo corrí dentro de Windows Virtual con Virtual Box y también funcaba bien. Pero no dejaba de ser un producto exclusivo para Windows. Entonces me dije: "Lo que genera es un archivo JAR que en definitiva es un RAR con la extensión cambiada. Si reemplazo el contenido por lo que yo quiera, lo puedo hacer yo mismo sin depender del programa". Además me puse a buscar si hay algo hecho en Linux, y hasta donde busque no hay nada. Entonces puse manos a la obra con el desarrollo.

Internamente el JAR esta formado por una serie de archivos de la aplicación que abre el texto, y el texto del libro dividido en archivos de exactamente 40000 caracteres (salvo el ultimo archivo, obvio). Me hice un simple programita en el lenguaje Python que toma el archivo TXT y genera tantos archivos de texto (con los nombres secuenciales que correspondan) como sean necesarios. Y como lo hice mas o menos rápido, aproveche para darle a la aplicación funcionalidad para copiar los archivos en una carpeta con el contenido de la aplicación y genero el JAR definitivo que se carga en el telefono.

Re contento con lo hecho, corro el programa con un libro que tengo ganas de leer, lo cargo en el teléfono, lo voy a abrir y... no lo abre :(

Me puse a analizar:
- Los archivos de texto generados por mi programa están bien generados.
- Los archivos de la fuentes están bien cargados.
- El archivo de configuración de la aplicación esta bien seteado al tamaño total del texto.

Entonces, ¿que mierda esta fallando si teóricamente el archivo esta correctamente generado?

Hasta el momento no le encontré la vuelta. Pero no me va a ganar el turro. Igualmente lo puedo hacer con este programa cuyo fin lo cumple muy bien. Pero ya lo voy a hacer para que funcione nativamente en Linux.

4 comentarios:

Flipelunico dijo...

¬¬' el nombre del archivo...
ademas no es simplemente cambiar la extension a rar dado que el jar no posee compresion .

Fernando Bombo dijo...

Si, pensé en eso pero lo hice de esa manera porque con el programa al correrlo, queda de un tamaño como si lo comprimiera.

Además me paso que en varios lugares de internet bajaba cosas (lo que sea) para celular y decían que había que cambiar la extensión RAR por JAR (aunque debe ser un tema de que los que subieron las cosas no podían subir archivos JAR por x motivo y lo cambiaban, digo).

Y bueno, seguiré investigando cuando tenga tiempo y sino, me resignare a usar el programita con Wine que por suerte anda bien.

Gracias por el dato y saludos!!!

Fernando Bombo dijo...

En el primer parrafo me referia al programa que baje de internet, no del mio. Saludos.

Anónimo dijo...

¡Vamos muchacho ánimo y a terminar el programita! Me pasa lo mismo que a vos y no quiero instalar Wine.
Gracias por el esfuerzo.