Naprawianie kupionego e-booka
Ciemne fonty na czarnym tle
Z problemem tym się zetknąłem w zakupionym w Ebookpoincie e-booku "Negocjacje z potworami" Igora Ryżowa. Popsute jest całe formatowanie, nawet znak wodny, ale przede wszystkim cała treść. Może to świadczyć o automatycznej konwersji i niechlujstwie firmy, ale to stwierdzenie nie przybliża nas do rozwiązania problemu.
Co ciekawe, na czytniku Kindle błąd jest niewidoczny, natomiast jest pod czytnikami programowymi na Windows: The callibre e-book viewer, Koodo reader i pewnie wieloma innymi. I nie jest to wina tych programów, bo błąd jest widoczny w podglądzie w edytorze e-booków o nazwie Sigil, który jest wiodącym i podstawowym narzędziem.
Na samym początku wspomniany znak wodny:
Teraz rozjaśnię na dowód, że to jest spartaczone:
Dokument to zwykły EPUB, więc otworzyłem go w Sigilu. Jeśli nie zetknąłeś się z tym narzędziem, przedstawiłem go w swoim e-booku "Zrób e-booka", ale tu też nakreślę parę słów, żeby nie zmuszać cię do odrywania się od artykułu.
Plik EPUB jest to archiwum, które zawiera wszystkie elementy książki. To znaczy, że takiego e-booka możesz rozpakować dowolnym archiwizerem obsługującym format ZIP. Na szczęście Sigil daje możliwość edycji bez konieczności rozpakowania, edytuje się wprost w programie. Z panelu po lewej wybiera się żądany fragment do edycji (to są pliki typu strony internetowe, bez przełożenia na rzeczywiste strony książki). Środkowa największa część to kod takiej strony, prawie to samo co HTML. Prawy panel to podgląd jak to wygląda na czytniku. Na obrazku Sigil jest czarny, bo tak sobie ustawiłem, ale domyślnie jest biały kolor z czarną czcionką.
Edycja nie jest aż tak trudna, żeby wymagała umiejętności programowania. Jest tak, ponieważ podstawowe elementy są wyprowadzone w formie przycisków (widoczne menu na górnej belce). Program ma też możliwość poprawiania błędnego kodu. Taką przyjemną funkcją jest opcja Narzędzia-Ponownie formatuj HTML-Popraw i upiększ wszystkie pliki HTML.
Fragment tekstu, który użyłem jako przykład, w kodzie wygląda tak:
Widać, że ładowane są z pliku stylu dokumentów (tu nie widać, ale to był font-face.css) klasy: .black, .black2, .dark-gray, .dark-gray2. I to te klasy są odpowiedzialne za zmianę koloru na czarny i szary.
Dalsza część kodu używa tych styli, co widać na poniższym obrazku:
Tu muszę wyjaśnić, że te włączenia kolorów są w książce niemal losowo, przykładowo w środku zdania. I niczego nie wnoszą, bo w normalnym trybie czytania (czarna czcionka na białym tle) różnice nie są widoczne.
Edycja arkusza styli .css
Poprawka będzie dotyczyła wyłączenia niechcianych właściwości tekstu, czyli wspomnianych wybranych klas. Style są w lewym panelu w programie, katalog Styles. U mnie był to plik OEBPS/Styles/font-face.css.
Przykładowa edycja klasy .dark-gray:
.dark-gray {
color:#000100;
}
trzeba zamienić na
.dark-gray {
color: inherit;
}
To inherit spowoduje, że zamiast koloru opisanego jako dark-gray (ciemnoszary) a będącego w rzeczywistości ciemną zielenią, prawie czarnym kolorem #000100, będzie brany kolor nadrzędny (z <p>, <div>, w ostateczności z <body>). W praktyce będzie najczęściej taki jak reszta akapitu.
Przykład na treści książki
Zrzut powyżej rozjaśniłem, żeby uwydatnić co tam jest, na dowód że jest – normalnie czarno na czarnym, niewidoczne.
A poniżej efekt poprawek:
Inne rozwiązania są możliwe, ale wymagają większego nakładu pracy. Przykładowo korzystając z funkcji "Znajdź i zamień" w Sigilu można zamienić
<span class="reset dark-gray">
na
<span>
To da też dobry efekt, ale nie polecam. Dlaczego? Bo w razie pomyłki przy poprawianiu e-booka trudniej wrócić do stanu poprzedniego.
Podsumowanie
Przedstawione rozwiązanie jest proste i eleganckie. Program Sigil jest darmowy, zachęcam do samodzielnych prób.
Trwa ładowanie...