Calibre 0.6

Po dlouhém půlroce vyšla nová velká verze Calibre, nejlepšího programu pro práci s e-booky – verze 0.6. Verze obsahuje celou řadu novinek, na své si přijdou skoro všichni. Byly kompletně přepracovány moduly pro konverzi mezi formáty, také podpora jednotlivých HW zařízení byla plně modularizována. Zlepšení doznal prohlížeč jednotlivých formátů (bohužel s výjimkou formátu LRF, který je stále tvořen samostatným programem takřka bez featur) a údajně výrazný pokrok nastal také v grafickém rozhraní (což nemohu dost dobře posoudit, protože grafické rozhraní nepoužívám).

Z mého pohledu nejdůležitější změnou jsou přepracované konverzní programy. Z koncepčního hlediska si novou verzi nemohu vynachválit – pryč je systém z verzí 0.4 a 0.5, kdy konverze vznikaly živelně a každá fungovala úplně jinak, používala odlišnou syntaxi volání z příkazové řádky a dávala i úplně jiné výsledky. Nový systém je mnohem jednodušší a hlavně univerzální: Ke každému formátu existují dvě základní konverzní rutiny – jedna pro konverzi OEB (Open E-book, v podstatě rozkomprimovaný EPUB – také standardní webová stránka s extra souborem popisujícím základní metadata knihy) do daného formátu a druhá pro konverzi opačným směrem. Všechny dohromady je dává prográmek ebook-convert, který vezme zdrojový formát, převede ho do OEB a tento pak zkonvertuje zase do cílového formátu. Pro uživatele to znamená několik zásadních výhod:

  1. Takřka bez ztrát lze převádět mezi libovolnými podporovanými formáty. Už se nestane, že do EPUBu dokážu převést všechno, ale do LITu jen něco, nebo že EPUB nedokážu převést do jiného formátu. Teď je to jednoduché – pokud existuje modul pro čtení formátu, půjde tento formát převést do jakéhokoliv výstupního formátu. Prakticky: vstupními formáty jsou CBZ a CBR (obrázky zkomprimované do ZIPu, resp. RARu), CBC (neznám), EPUB, FB2, HTML, LIT (Microsoftí formát, velmi populární v e-bookové komunitě, protože je dobře zdokumentovaný, hodně toho umí a jeho DRM je cracknuté), MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF a TXT. Výstupními formáty jsou EPUB, FB2, OEB, LIT, LRF, MOBI, PDB, PML, RB, PDF, TXT. (Pokud vás zaráží, proč mezi vstupními formáty chybí LRF, je to proto, že z toho formátu se nic použitelného dostat nedá.)

  2. Bylo téměř sjednoceno ovládání všech konverzí. V předchozích verzích se například konverze do LRF volaly úplně jinak než konverze do EPUB, zejména pokud se týkalo funkcí jako detekce kapitol. Teď mají všechny konverze společnou syntaxi a rozdíly jsou dané jen tím, co některé formáty umí navíc (například LRF je jeden z mála formátů, který na každé stránce zobrazit hlavičku, typicky se jménem knihy a autora).

Pro mě to ovšem znamenalo, že jsem musel aktualizovat obě utility, které jsem si pro práci s e-booky napsal. Základní verzi H2LRF (pro hromadnou konverzi HTML knih do e-bookových formátů, včetně možnosti přímo v knize nadefinovat metadata a speciální parametry konverze) už jsem upravil před dvěma týdny, tehdy ovšem ještě pro betaverzi nového Calibre. Šlo zejména o to, že se mění pořadí parametrů na příkazovém řádku – staré verzi Calibru na pořadí nezáleželo, nová vyžaduje, aby prvním parametrem byl vstupní soubor, druhým parametrem výstupní soubor a teprve pak následovaly další parametry (jde to tak daleko, že toto schéma musí zůstat zachováno dokonce i v případě, že vůbec nechci konvertovat a jen se chci parametrem --help podívat na syntaxi). Popis, jak toho bylo dosaženo, jde uveden ve článku o H2LRF verze 0.09.

Ve finální verzi se objevilo ještě několik změn, z nichž nejpodstatnější je ta, že nové Calibre reaguje velmi nečekaně, pokud název výstupního souboru začíná tečkou (což byl u H2LRF standardní případ, protože tam je název výstupního souboru ve výchozím stavu uváděn textem .\ čili „vytvoř soubor v aktuálním adresáři“). Ptal jsem se na to Kovida Goyala, autora Calibru, a podle něj jde o úmyslnou vlastnost, která se nebude měnit (jde o to, že pokud název začne takhle tečkou, chápe se jako jméno adresáře, do kterého se má kniha „rozbalit“); já mám sice k tomuto vysvětlení určité výhrady, ale zjevně mi nebudou nic platné, takže jsem místo toho příslusně upravil H2LRF, aby výstupní soubor začínal něčím jiným než tečkou (stále to bude aktuální adresář, ale jinak zapsaný). To bylo předmětem verze 0.10, která navenek nevykazuje žádné jiné rozdíly (nicméně pro tuhle vnitřní změnu je velmi vhodné na ni aktualizovat).

Ke změnám muselo dojít i v ColBuildu pro vytváření sbírek – podobně jako byly sjednoceny konverze se také sjednotily programy pro čtení metadat z e-booků (nyní to je řešeno jediným programem ebook-meta). V tomto smyslu jsem tedy ColBuild doplnil, aby si názvy načítacích programů bral z INI souboru a neměl je natvrdo zadrátované do programu. Bohužel jsem to nemohl vyzkoušet s verzí 0.6 – i ve dnešní 0.6.1 je v ebook-meta kritická chyba, která ho znemožňuje byť jen spustit. Chybu jsem nicméně nahlásil a ve vývojové verzi Calibru už byla opravena, takže až vyjde Calibre 0.6.2, měl by s ní nový ColBuild chodit. Zatím jsem ho vyzkoušel aspoň se starou 0.5.14, se kterou funguje (tzn. doplněná funkčnost nezbořila to, co fungovalo i dříve).

Otázkou, která si vyžádá delší testování, je ovšem to, jak moc se změnilo konverzní jádro a které dříve funkční postupy bude třeba předělat. Zatím vím jen o tom, že je třeba zaktualizovat údaje pro H2LRF – jednak údaje o tom, jak vypadají kapitoly (nyní je použit systém založený na XPath, který už dříve fungoval u EPUBu – pokud třeba chcete za kapitoly považovat ty tagy <h2> a <h3>, které obsahují atribut class s hodnotou začínající na chapter nebo part, použijete něco jako --chapter="//*[re:test(name(), '^h[23]', 'i') and re:test(@id, '^(chapter|part)', 'i')]"; uznávám, že to vypadá hrozně, ale dá se tím dosáhnout mnohem jemnějšího detekování, než bylo možné dosud), ale hlavně údaj o autorovi – místo původního --author=Někdo Neznámý se nyní píše --authors=Někdo Neznámý (všimněte si s za --author). Pozor na to!

Každopádně nové Calibre vítám jako krok správným směrem a věřím, že až se vychytají porodní bolesti, nebudeme si ho moci vynachválit, o kolik je jednodušší a přehlednější než předchozí verze.

Podobné příspěvky:

One Response to “Calibre 0.6”

  1. avatar pepak napsal:

    Ebook-meta sice v Calibre byl opraven, ale ukázalo se, že také pro jistotu změnil formát výstupu. To si vyžádalo i aktualizaci ColBuildu.

Leave a Reply

Themocracy iconWordPress Themes

css.php