Skip to main content

Calibre - włączanie czcionek do książek i dokumentów w formacie EPUB.

Zamieszczone w

Pierwszym sposobem na rozwiązanie problemów z czytnikiem, który nie ma wbudowanych standardowo czcionek z polskimi literkami (tak jak na przykład nook), jest włączenie takich czcionek do każdej książki czy dokumentu w których polskich liter potrzebujemy. Sam próbowałem skorzystać z kilku znalezionych w sieci opisów mówiących jak tego dokonać, ale żaden nie zadziałał. Metodą prób i błędów, bazując na tym co znalazłem w sieci, wypracowałem sobie sposób, który dla mnie zawsze się sprawdza.


Aktualizacja 2014-12-20 - w razie problemów z poniższą instrukcją sugeruję aby spróbować wyciąć apostrofy z CSSa. Póki czcionka ani URL nie ma w nazwie spacji - nie powinno to stanowić problemu a być może pomoże.

Poniżej lista kroków, które należy wykonać, aby otrzymać książkę/dokument w formacie EPUB z włączonymi w treść dokumentu czcionkami (ang. embeded fonts):

  1. Wciągnąć książkę do Calibry (przycisk Dodaj książki)
  2. Nawet jeśli nasza książka jest już w formacie EPUB, zaznaczyć książkę na liście i uruchomić konwersję do formatu EPUB (przycisk Konwertuj książki)
  3. Upewnić się, że Format wyjściowy ustawiony jest na EPUB (prawy górny róg ekranu konwersji)
  4. W ramce kart wybrać kartę Wygląd i zachowanie i do pola Dodatkowa stylizacja kodem CSS wprowadzić CSS definiujący nasze czcionki, np.:
    @font-face {
    	font-style: italic;
    	font-family: 'Liberation', serif, sans-serif;
    	font-weight: normal;
    	src: 'url(LiberationSans-Italic.ttf)';
    }
    @font-face {
    	font-style: normal;
    	font-family: 'Liberation', serif, sans-serif;
    	font-weight: normal;
    	src: 'url(LiberationSans-Regular.ttf)';
    }
    @font-face {
    	font-style: italic;
    	font-family: 'Liberation', serif, sans-serif;
    	font-weight: bold;
    	src: 'url(LiberationSans-BoldItalic.ttf)';
    }
    @font-face {
    	font-style: normal;
    	font-family: 'Liberation', serif, sans-serif;
    	font-weight: bold;
    	src: 'url(LiberationSans-Bold.ttf)';
    }
    body {
    	font-family: 'Liberation', sans-serif;
    }
  5. Następnie można zmienić inne ustawienia konwersji (lub nie) i wybrać przycisk OK aby konwersję w końcu uruchomić
  6. Po zakończeniu konwersji ponownie zaznaczyć książkę na liście i z menu kontekstowego wybrać opcję Tweak EPUB (lub wcisnąć literkę 'T')
  7. Kliknąć w nowo otwartym okienku przycisk Explode ePub
  8. Otwiera się kolejne okno nautilisa z tymczasową, rozpakowaną zawartością książki. Kopiujemy do tego okna czcionki w formacie TrueType. U mnie (Fedora) pliki czcionek siedzą sobie tutaj:
    /usr/share/fonts/liberation/LiberationSans-BoldItalic.ttf
    /usr/share/fonts/liberation/LiberationSans-Bold.ttf
    /usr/share/fonts/liberation/LiberationSans-Italic.ttf
    /usr/share/fonts/liberation/LiberationSans-Regular.ttf
  9. Wyszukujemy w tym samym oknie nautiliusa plik content.opf i otwieramy go geditem czy innym ulubionym edytorem tekstu
  10. Dodajemy do niego linijki z informacją o czcionkach, np.:
    <item href="LiberationSans-Regular.ttf" media-type="application/octet-stream" id="id1"/>
    <item href="LiberationSans-Italic.ttf" media-type="application/octet-stream" id="id2"/>
    <item href="LiberationSans-BoldItalic.ttf" media-type="application/octet-stream" id="id3"/>
    <item href="LiberationSans-Bold.ttf" media-type="application/octet-stream" id="id4"/>
  11. Zapisujemy zmiany i zamykamy edytor.
  12. Możliwe, że arkusze stylów będą odwoływać się gdzieś do innych czcionek. W tym celu należy znaleźć i otworzyć plik stylesheet.css i wyszukać w nim ustawiania właściwości font-family. Jeśli ta właściwość występuje gdzieś z wartościami różnymi od serif, sans-serif czy nazwą "rodziny" załączanej czcionki (w moim przykładzie będzie to 'Liberation') należy rozważyć zmianę tych ustawień. Po ewentualnej edycji, należy plik zapisać i zamknąć.
  13. W okienku w którym wcześniej wcisnęliśmy Explode ePub, teraz klikamy w Rebuild EPUB.
  14. Teraz naszą książkę czy dokument można już wysyłać na nooka czy inny czytnik.

Uwagi

Zdarzyło mi się kiedyś, że załączona czcionka działa tylko dla tekstów z czcionką normalną, to znaczy niepogrubioną i nie kursywą (regular). Wszystkie teksty, które używały czcionki pogrubionej lub stylu kursywy lub obu z tych formatowań na raz, używały nie załączonej czcionki ale aktualnie ustawionej w opcjach czytnika i oczywiście bez polskich liter. Co dziwniejsze polskie litery działały prawidłowo dla wszystkich krojów tylko wtedy gdy ustawiałem czcionkę na nooku na Light Classic. Taki przypadek miałem tylko raz, nie wiem niestety z jakiej przyczyny. Mogę tylko podejrzewać, że:

  • stało się tak z powodu mojego błędu w CSSie (ale czemu działało z czcionką Light Classic?)
  • stało się tak ponieważ miałem uszkodzone pliki czcionek - były to pliki ściągnięte z sieci, potem zacząłem używać plików z mojego systemu (nadal nie wyjaśnia czemu działało z ustawioną czcionką Light Classic)
  • przez błąd Calibre (używałem wtedy jakiejś jej starej wersji - nadal nie wyjaśnia czemu działało z ustawioną czcionką Light Classic)
  • przez błąd samego czytnika (czy też aplikacji do e-książek), gdzieś w międzyczasie wgrałem aktualizację do wersji 1.5.

Niestety książkę z tym objawem już skasowałem. Znalazłem gdzieś plik źródłowy, ale kolejna konwersja (w nowej Calibrze i na zaktualizowanego nooka) nie przyniosła takich samych rezultatów, tym razem wszystko działało prawidłowo.

* * *

Znalazłem też informację o tym, że ktoś napisał prosty plugin do Calibry, który umożliwia automatyczne załączanie czcionek do EPUB (http://www.mobileread.com/forums/showthread.php?t=61587&page=2#post789034) ale go osobiście nie testowałem i mam silne podejrzenie, że nie będzie chciał bez przeróbek działać na Linuksie.

Przykładowe książki w formacie EPUB z załączonymi czcionkami

Dla celów testowych, stworzyłem sobie dwa dokumenty w formacie EPUB z załączonymi czcionkami. Pierwszy z nich tylko z czcionką Liberation (normalna, pogrubiona kursywa i w różnych rozmiarach) a drugi z kilkoma innymi - moim zdaniem najładniejszymi ze standardowych czcionek Fedory. Poniżej kilka obrazków poglądowych. Oba dokumenty można znaleźć i pobrać sobie z pobieralni.


EPUB z załączoną czcionką Liberation na nookuEPUB z załączoną czcionką Liberation na nooku

EPUB z załączoną czcionką Liberation na nookuEPUB z załączoną czcionką Liberation na nooku

EPUB z załączoną czcionką SerafettinCartoonEPUB z załączoną czcionką SerafettinCartoon

EPUB z załączoną czcionką SerafettinCartoon na nookuEPUB z załączoną czcionką SerafettinCartoon na nooku

EPUB z załączoną czcionką VL-PGothicEPUB z załączoną czcionką VL-PGothic

EPUB z załączoną czcionką VL-PGothic na nookuEPUB z załączoną czcionką VL-PGothic na nooku