Epub-sähkökirjojen lukijat Macille: Stanza ja Calibre

En ole koskaan innostunut lukemaan kirjoja tietokoneelta sähköisinä versioina, sillä arvostan oikean kirjan tarjoamaa käyttöliittymää, mutta kun Lois McMaster Bujoldin Cryoburn-teoksen liitteenä olleella CD:llä oli tarjolla kaikki mainion ”The Miles Vorkosigan Saga” -sarjan teokset ja lisämateriaalia Baenin kirjastosta, piti aiheeseen hieman perehtyä. Sivuhuomautuksena, että Baenin kirjastossa Bujoldin teokset ovat listattu hieman sekaisin lukujärjestystä ajatellen, mutta tarina alkaa ”Cordelia’s Honor” ja ”Young Miles” -kokoelmista.

Jo alkuun selvisi, että sähköisille kirjoille on tarjolla erilaisia lukulaitteita iPadista Kindleen ja Nookkiin ja tiedostomuotoja HTML:stä epubiin ja Mobipockettiin, joten ainakaan käyttäjälle ei kirjan lukemista ole turhan helpoksi tehty. Tässä tapauksessa valitsin, Nook-sanan tunnistaneena, Baenin kirjaston tarjoamista vaihtoehdoista avoimen ohjelmisto- ja laitteistoriippumattoman epub-tiedostomuodon, jolle löytyy Mac OS X:ssä muun muassa Stanza ja Calibre -sähkökirjojen lukuohjelmat. Muita epub-lukijoita ovat muun muassa Lucidor ja Adobe Digital Editions.

Stanza
Stanza on suunniteltu enemmänkin Applen mobiileille laitteille, kuin Mac OS X:ssä käytettäväksi ja sen kyllä huomaa. Lähestyminen lukemiseen on yksinkertainen ja toimiva: kirja aukeaa yhteen ikkunaan, ”sivuja” selataan nuolinäppäimillä ja tekstiä voi jakaa palstoihin kirjamaisesti. Lukijassa epub-formaatin teksti soljuu eteenpäin ja kappaleiden vaihtumista ei ole varsinaisesti eroteltu, kuten perinteisessä kirjassa. Jostain syystä myös kirjojen kansikuvat jäivät näkymättä. Lukemisen lisäksi Stanzalla voi myös muuntaa kirjan toiseen formaattiin kuten PDF:ksi, joka näytti onnistuvan ihan mainiosti. Stanza on saatavissa iLaitteiden lisäksi OS X:lle.

Stanza

Calibre
Calibre on ensivilkaisulla hieman sekava kokonaisuus ja sitä se on myös käytössä. Ohjelmasta kerrotaan Wikipediassa, että sitä käytetään useimmin kirjojen hallintaan, muuntamiseen ja laitteisiin siirtämiseen kuin varsinaisesti lukemiseen, ja tämä on helppo uskoa. Teknisesti epub-kirjan lukeminen kyllä onnistuu, mutta kovin mukavaa se ei ole: sivuja ei voi vaihtaa nuolinäppäimillä, koska varsinaisesti sivuja ei ole, vaan teksti soljuu jatkuvana ketjuna. Kirjojen muuntamisen osalta ainakaan PDF-muunnos ei kokeiluteoksen osalta onnistunut odotetulla tavalla. Calibre on saatavilla Windowsille, Mac OS X:lle ja Linuxille.

Yhteenveto
En ole testannut erillistä sähkökirjojen lukijaa, mutta ainakaan tietokoneelle tehdyt lukijat eivät vakuuta: lukeminen on hankalaa, teksti yhdessä pötkössä, eikä kirjamaista lukukokemusta synny. Tekstin pötkömäisyys on toki osittain sähkökirjaformaatin ansiota, mutta toivon, että erillisissä laitteissa asiat ovat paremmin, sillä tarjoavathan sähköiset kirjat paljon etuja tilaa vieviin painettuihin teoksiin. Mutta valitettavasti ne eivät tietääkseni vielä tarjoa kaikkien teknisten hienouksien lisäksi käyttökokemusta, joka vertautuisi oikeaan kätevän kokoisen pokkarin lukemiseen ajasta ja paikasta riippumatta. Onneksi siihen asti kirjastot palvelevat.

VoikkoSpellService tuo Suomen kielen oikoluvun OS X:lle

Oikoluku on kiva asia ja vielä kivempaa on, jos se olisi aina saatavilla ja kaikissa ohjelmissa, joissa tekstin kanssa joudutaan työskentelemään. Englannin ja useiden muiden ulkomaisten kielien osalta asia näin usein onkin, mutta Suomen kielen oikoluvun kanssa on usein hieman hankalampaa. Onneksi meillä kuitenkin on Voikko, joka tarjoaa sitä hyödyntävien mozvoikko, ooovoikko ja osxspell-palikoiden avulla oikolukua myös suomelle.

OS X:lle Suomen kielisen oikoluvun saattaminen useisiin ohjelmiin on teoriassa yksinkertaista osxpell-projektin tarjoaman VoikkoSpellService-järjestelmäkomponentin kautta, mutta käytännössä asia on hieman monimutkainen. Virallisin versio komponentista on Lauri Nurmen OS X 10.4:lle paketoima PPC-alustalle käännettyjä kirjastoja käyttävä versio, joka saamieni tietojen mukaan toimii OS X 10.6:ssa hieman heikosti Rosettan kautta. Joitain epävirallisia versiotakin olen nähnyt, mutta en niihin linkkiä enää löytänyt. Suoraan sanottua VoikkoSpellServicellä ei ole tukea OS X 10.6 Snow Leopardissa.

Oli siis aika tehdä tuolle asialle jotain, joten pienen tutkailun, Nurmen pätsien lisäämisen, Applen ohjeiden seuraamisen, Soikko-palikan määritteiden vilkuilun ja kiroilun jälkeen, sain VoikkoSpellServicen toimimaan OS X 10.6 Snow Leopardilla. Muutoksina koodin osalta korjasin pari varoitusta antavaa kohtaa ja puuttuvan parametrin. Käänsin komponentin käyttäen 32-bittisiä Voikon ja Suomi-malagan -kirjastoja, joten sen pitäisi toimia myös 10.5 Leopardilla. Erona mozvoikon libvoikon kääntöön, täytyi libvoikolle antaa käännösvaiheessa ”-Wl,-install_name,@executable_path/libvoikko.1.dylib” LDFLAGS-määritteet, jotta dynaaminen kirjasto löydetään.

VoikkoSpellService-komponentti DMG-pakettiin kiedottuna (VoikkoSpellService_2010-07.dmg) ja lisätietoa löytyy Voikolle tekemältäni sivulta omana kohtanaan.

Palikka on kokeellinen versio ja kokeilu omalla vastuulla, kuten aina. Näytti toimivan ainakin Snow Leopardilla, kunhan OS X:n järjestelmänoikolukuun sai lisättyä vaihtoehdoksi suomen. Kyseisen vaihtoehdon saamisessa oli hieman ongelmia, sillä välillä kieli löytyi ja välillä ei. Consolekaan ei tuohon auttanut, mutta kun kielivaihtoehto löytyi, eli VoikkoSpellService oli rekisteröity palveluksi, pystyi Consolesta toteamaan muun muassa palikan kaatumisen.

VoikkoSpellServicen avulla Voikon tarjoama oikoluku toimii ainakin TextEditissä, Safarissa, TextWranglerissa ja TexShopissa. Tosin näköjään osa ohjelmista, kuten TextWrangler, eivät osaa ehdottaa korjausta, mutta muuten kyllä käskettäessä oikolukevat. Chromella näytti olevan jotain hieman isompia ongelmia oikoluvun kanssa OS X:llä. Kieliopintarkistus ei toimi, sillä sen mahdollistavan metodin kanssa käännettynä ja Check grammar -vaihtoehto ruksitettuna Console täyttyy ”[NSCFString rangeValue]: unrecognized selector sent to instance 0x1404e0” ja ”[NSKeyedArchiver dealloc]: warning: NSKeyedArchiver deallocated without having had -finishEncoding called on it.” -virheistä, jolloin ei oikolukukaan toimi.

Olisi pitänyt selkeästi perehtyä osxspelliin jo aikaisemmin, sillä oikoluku TexShopissa (vaikka käytinkin Texmakeria) olisi ollut kyllä helpottava lisä lopputyötä tehdessä. No, kävi se oikolukeminen manuaalisestikin ja copy-pasten avulla kierrättäen OO.orgin kautta.

Lisäys:
VoikkoSpellServicen näkymiseen oikoluvun vaihtoehdoissa sen jälkeen, ku se on sieltä hävinnyt, auttaa Library/Cache -hakemistossa olevan ”com.apple.nsservicescache.plist” -tiedoston poistaminen. Muita kikkoja on käyttää ohjelmallisesti NSUpdateDynamicServices() -metodia, käynnistää Applen pasteboard server uudestaan (/System/Library/CoreServices/pbs) ja uudestaanrekisteröidä servicet komennolla

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system, user

.