Cerca nel blog

2016/01/06

Kindle Previewer su OS X El Capitan non funziona? Risolto

Questo articolo vi arriva gratuitamente e senza pubblicità grazie alle donazioni dei lettori. Se vi piace, potete incoraggiarmi a scrivere ancora (anche con un microabbonamento).

Amazon offre un software gratuito di conversione da EPUB a MOBI, Kindle Previewer, che fa tutto in automatico, verifica la conformità con gli standard di Kindle e offre l’anteprima in emulazione di vari dispositivi Kindle. Molto comodo, ma ha il difetto non trascurabile (perlomeno nella versione corrente, la 2.94) di non funzionare assolutamente sotto OS X El Capitan perché Amazon ha sbagliato la sua configurazione.

Ho speso un bel po’ di tempo oggi a cercare la soluzione a questo problema, per cui la pubblico qui, caso mai servisse a qualcun altro.

Per prima cosa occorre installare Java, se non è già installato, e anche X11 (XQuartz). Occorre riavviare OS X. Poi si installa Kindle Previewer.

Terminate queste installazioni, si va nella cartella Applications, si fa clic destro su Kindle Previewer.app, si sceglie Show Package Contents e si apre con un editor di testo (TextEdit va benissimo) il file Contents/MacOS/Launcher all’interno del pacchetto dell’applicazione.

Questo file va modificato in modo che punti al path corretto di Java. Questa è la mia versione, con le righe aggiunte/modificate in grassetto:

#!/bin/sh

dir=`dirname "$0"`
cd "$dir"
classpath=./:./lib/touchLibs/etc/fonts/fonts

for i in `ls ./lib`
do
    classpath=$classpath:./lib/$i
done

export DYLD_LIBRARY_PATH=.

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6*)

# start the previewer
fileExtT=`echo $1 | awk -F. '{print $NF}'`
fileExt=`echo $fileExtT | tr '[:upper:]' '[:lower:]'`

if [ "$fileExt" == mobi -o "$fileExt" == azw3 -o "$fileExt" == epub -o "$fileExt" == opf -o  "$fileExt" == html -o  "$fileExt" == zip ]
then
    # opens only the first book in command line.  TODO: handle multiple books in command line
    ${JAVA_HOME}/bin/java -d32 -XstartOnFirstThread -Dfile.encoding=UTF-8 -cp "${classpath}"  com.amazon.epub.reader.Main "$1"
    exit 1
else
    ${JAVA_HOME}/bin/java -d32 -XstartOnFirstThread -Dfile.encoding=UTF-8 -cp "${classpath}"  com.amazon.epub.reader.Main
    exit 1
fi

Si salva questo file e si lancia Kindle Previewer: se è tutto giusto, parte l’applicazione (non vi preoccupate se l’icona nel Dock scompare dopo l’avvio; ricompare poco dopo), sulla quale si può trascinare il file EPUB da convertire (si può anche scegliere l’interfaccia in italiano).

Se il file EPUB viene convertito correttamente perché non contiene errori di sintassi o incompatibilità, si ottiene un’anteprima grafica dell’aspetto che avrà l’e-book sui vari dispositivi: Kindle Fire, DX, Kindle per iPhone e iPad. Ta-da!

Nessun commento: