Z wielką radością informuję, że od wczoraj na Wolnych Lekturach zaczął produkcyjnie funkcjonować mój drugi pakiet udoskonaleń w librarianie – narzędziu generującym między innymi ebooki w najpopularniejszych formatach EPUB oraz MOBI.
Najważniejsza zmiana jaką wnosi to dzielenie wyrazów – zarówno w formacie EPUB, jak i MOBI, niezależnie od możliwości czytników. To rozwiązanie działa w oparciu o znak SOFT-HYPHEN.
Przy okazji chciałem również poinformować, że od pewnego czasu pliki MOBI na Wolnych Lekturach generują się z wykorzystaniem calibre 1.31. Ta wersja naprawia między innymi jeden poważny błąd, który w ekstremalnych sytuacjach (książki z tysiącami przypisów) powodował zamrażanie czytników Kindle Paperwhite na kilka dobrych minut.
UWAGA! Ebooki na Wolnych Lekturach generują się w określonym czasie w ramach możliwości serwera, dlatego na tę chwilę nie wszystkie zostały zaktualizowane. Z całą pewnością zaktualizowane zostały między innymi następujące wybrane przeze mnie pozycje:
- Krzyżacy (całość): EPUB, MOBI
- Faraon (tom 2): EPUB, MOBI
- Lalka (tom 2): EPUB, MOBI
- Trylogia księżycowa: Na srebrnym globie: EPUB, MOBI
Na koniec chciałem podziękować Radkowi Czajce z Fundacji Nowoczesna Polska, za szybkie przeportowanie moich zmian do głównej gałęzi kodu librariana i uruchomienie ich produkcyjnie 🙂
PS. Osoby zainteresowane tematyką jakości ebooków zapraszam do testowania innego mojego narzędzia epubQTools.
To naprawdę wspaniałe informacje, czytanie staje się coraz przyjemniejsze. Dziękujemy za wkład w rozwój „wewnętrzny” Wolnych Lektur.
Drobna literówka: ma być calibre
Aplikację przerobiłem na font 😉 Poprawione.
Dobra robota!
Dzieli wyrazy, pilnuje jednoliterowych spójników… Hm, a może „2014 r.” lub „Henryk III” też stara się w jednej linijce utrzymać? 😉
Tylko jednoliterowe spójniki. Aczkolwiek mile widziane będą propozycje poprawek tej linii kodu:
newt = re.sub(r'(?<=\s\w)\s+', u'\u00A0', newt) .
nice!
Dzielenie wyrazów w plikach epub nie będzie krzaczyło? Czy istnieje możliwość bezpiecznego przygotowania epuba przez Calibre by dzieliło wyrazy?
Gratuluje wkładu w WL!.
http://thebookstudio.wordpress.com/2013/06/11/the-longest-e-problem-in-the-world-solved/
Znak SOFT HYPHEN jest w pełni zgodny ze standardem EPUB i może być wykorzystywany do przygotowywania plików EPUB, co też wiele polskich wydawców czyni. Referencyjna aplikacja Readium http://readium.org/ (najbardziej zgodna ze standardem EPUB: http://epubtest.org/results/) firmowana przez IDPF to potwierdza – prawidłowo wyświetla znaki przeniesienia.
Z tego co wiem, to podobno tylko czytniki Sony (starsze modele) mają problem z wyświetlaniem znaku przeniesienia.
Przeważnie lookbehind działa wolniej niż zwykły regexp. Może próbowałeś prostszego rozwiązania?
newt = re.sub(r'(\s)(\w)\s+’, r’\1\2#’, newt)
z dodatkową linijką na obsłużenie sytuacji typu „miasto moje a w nim”:
newt = re.sub(r'(#)(\w)\s+’, r’\1\2#’, newt)
gdzie # robi na szybko za niełamliwą spację.
Znak soft-hyphen w epub może zaburzać mechanizm wyszukiwarki.
Np. w Adobe Viever, w Pocketbookach i nie tylko.
Trochę to uszczęśliwianie ludzi na siłę. Adobe Viever, Cool Reader, AlReader potrafią same w locie dzielić wyrazy.
Referencyjna platforma Readium nie ma z tym problemów. Pytanie więc brzmi czy idziemy do przodu, czy cofamy się lub zatrzymujemy w miejscu, bo są sprzedawane czytniki z zabugowanym (błędnie działającym) oprogramowaniem. Wykorzystane słowniki dzielenia wyrazów działają w opisanym mechanizmie zdecydowanie lepiej niż mechanizmy wbudowane w zubugowane firmware’y.
W sumie świadomy jestem tego, że nie można wszystkim dogodzić, dlatego polecam calibre. W ciągu paru sekund usuniesz znaki soft hyphen z wybranej książki przy pomocy Book Edit.
AlReader dla Androida (uruchomiony na czytniku Onyx) też nie trawi soft-hyphen.
1. Gdy wskazuję palcem słowo do sprawdzenia w słowniku, program szuka definicji nie dla całego wyrazu, a tylko dla tej jego części w którą trafiłem palcem.
2. W spisie treści takiej książki widzę:
„Roz-dział dru-gi. I tak da-lej, I tak da-lej”
Dobrze że jest Calibre. 🙂
No to w takim razie zadanie dla programisty AIReader na prawidłową implementację SOFT HYPHEN 😉
Zgadza się, pewnie trzeba będzie mu to zgłosić. 😉
Korzystając z okazji chciałbym Ci podziękować za Twój wcześniejszy wkład w poprawę wyglądu książek na WL. Dobra robota!
Zgłosiłem autorowi AlReader’a w czym „problem” i teraz wszystko działa jak należy. Jednak nadal zastanawiam się czy implementacja soft-hyphen była dobrym pomysłem. Sporadycznie zdarza mi się czytać e-booki na urządzeniu z iOS’em i niestety tam też powtarzają się problemy z wyszukiwarką i słownikiem; przynajmniej w programach iBooks oraz (genialnym swoją drogą) Marvin.
A gdyby tak implementację soft-hyphen ograniczyć do plików MOBI?
Powtórzę jeszcze raz. Jeśli SOFT-HYPHEN stanowi problem w wyszukiwarce danego programu obsługującego EPUB to jest to błąd w programie. Ze swej strony polecam dla iOS Gitden Reader (http://gitden.com). Aplikacja, która jest jedną z aplikacji najpełniej obsługujących standard EPUB 3.0.1, a także (to zrozumiałe) nie ma żadnych problemów z wyszukiwaniem słów ze znakiem SOFT-HYPHEN.
Z racji, że moja znajomość angielskiego nie jest najlepsza chciałbym dopytać w jaki program korzysta z soft-hyphen? Czy np. epubQTools ten system obsługuje?
librarian oraz epubQTools w zakresie dzielenia wyrazów działają identycznie. Konstrukcja funkcji jest identyczna. Funkcja ta dodaje w odpowiednich dla danego języka (np. polskiego – epubQTools obsługuje tylko język polski!) niewidoczne w normalny sposób unikodowe znaki SOFH HYPHEN (http://www.fileformat.info/info/unicode/char/ad/index.htm), który podpowiada oprogramowaniu czytników, gdzie to oprogramowanie może „złamać” dany wyraz i przenieść go do nowej linii.
Przetestowałem to na plikach epub. czytnik Sony (jutro sprawdzę jaki to był model) w ogóle sobie nie poradził z SofhHyphen: co sylabę stawiał myślnik przez co ebook staje się praktycznie nieczytelny
Zakładam że to jakaś staroć 😉
Dowiedziałem się co to był za model: Sony PRS 600
Czyli dokładnie tak pisałem. Staroć z 2009 roku: http://en.wikipedia.org/wiki/Sony_Reader#2009_Models_.28Discontinued_late_2010.29 – rówieśnik Kindle 2: http://en.wikipedia.org/wiki/Amazon_Kindle#Kindle_2