eKsiążki
https://forum.eksiazki.org/

epubQTools - skrypt do walidacji i konwersji ebooków
https://forum.eksiazki.org/amazon-com-kindle-f146/epubqtools-skrypt-do-walidacji-i-konwersji-ebookow-t14388-30.html
Strona 3 z 12

Autor:  UncleLion [ 14 kwi 2014 0:37:18 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Nie jestem pewien czy to jest przyczyną. Spróbowałem wrzucić inne fonty, wyciągnięte z innego ebooka. Niestety nic to nie dało.Gdzieś głębiej leży przyczyna.

Autor:  quiris [ 14 kwi 2014 6:07:16 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Czy podczas tego dodawania innych fontów usunąłeś plik encryption.xml?

Autor:  UncleLion [ 14 kwi 2014 8:55:56 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Sigil sam chyba usunął, ponieważ otworzyłem archiwum i go nie widzę.

Autor:  Artii [ 14 kwi 2014 11:20:37 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

IMHO to "szyfrowanie" to jakiś xor (zakodowany jest tylko początek pliku)


o można samemu odszyfrować:
Cytuj:
Technically, “mangling” is done by applying XOR operation byte-bybyte to the first 1024 bytes of the font stream and the bytes from the mangling key.
Mangling key is a big-endian binary form (16 bytes) of the first UUID URN-based
unique identifier [3] in the publication’s OPF file. It is an error if such identifier is
missing in the OPF file. When the bytes in the key are exhausted, the process should start again reading key bytes from the beginning of the key.


edit:

Czyli z opf wyciagamy np:
<dc:identifier>urn:uuid:fa4e0426-85f8-453e-969c-201cb58a85e6</dc:identifier>
fa4e04..... czytamy jako hex czyli dostajemy wartości 0xfa 0x4e 0x04..... i takich potrzeba 16 (dziwnym trafem uuid to własśnie 16 bajtów)
i xorujemy tym pierwsze 1024 bajty usuwając pozycje z encryption.xml

:D

Autor:  quiris [ 15 kwi 2014 8:06:52 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

UncleLion napisał(a):
Nie jestem pewien czy to jest przyczyną. Spróbowałem wrzucić inne fonty, wyciągnięte z innego ebooka. Niestety nic to nie dało.Gdzieś głębiej leży przyczyna.

1) Wyrzuciłem wszystkie fonty z książki demo WszystkozaEverest.epub
2) Wrzuciłem do tej samej książki font Comic_Sans_MS.ttf
3) Zmodyfikowałem arkusz: Wszystko_za_Everest1.css, żeby używał tego nowego fontu:
Kod:
@font-face {
   font-family:"quiris";
   font-style:normal;
   font-weight:bold;
   src : url("../Fonts/Comic_Sans_MS.ttf");
}
@font-face {
   font-family:"quiris";
   font-style:italic;
   font-weight:normal;
   src : url("../Fonts/Comic_Sans_MS.ttf");
}
@font-face {
   font-family:"quiris";
   font-style:oblique;
   font-weight:normal;
   src : url("../Fonts/Comic_Sans_MS.ttf");
}
@font-face {
   font-family:"quiris";
   font-style:normal;
   font-weight:normal;
   src : url("../Fonts/Comic_Sans_MS.ttf");


Kod:
p.krakauer---body-text {
   -epub-ruby-position:over;
   color:#000000;
   font-family: quiris, serif;
   font-size:0.75em;
   font-style:normal;
   font-variant:normal;
   font-weight:normal;
   line-height:1.289;
   margin-bottom:0px;
   margin-left:0px;
   margin-right:0px;
   text-align:justify;
   text-decoration:none;
   text-indent:14px;

4) I czcionka Comic Sans wyświetla się bez problemu
5) Również po konwersji do formatu Mobi kindlegenem.
Obrazek

Autor:  quiris [ 15 kwi 2014 8:08:21 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Artii napisał(a):
IMHO to "szyfrowanie" to jakiś xor (zakodowany jest tylko początek pliku)
Dzięki za dodatkowe informacje :)

Autor:  UncleLion [ 15 kwi 2014 8:56:03 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

quiris napisał(a):

4) I czcionka Comic Sans wyświetla się bez problemu
5) Również po konwersji do formatu Mobi kindlegenem.
Obrazek


A próbowałeś wysłać do chmury? Przez Kindle Previewer też mi wyświetla poprawnie czcionkę. Jak wysyłam ten sam plik na czytniku już jej nie widzę. Próbowałem kilka razy, także uaktualniając css. Bez skutku.

Autor:  quiris [ 15 kwi 2014 10:12:07 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

UncleLion napisał(a):
A próbowałeś wysłać do chmury? Przez Kindle Previewer też mi wyświetla poprawnie czcionkę. Jak wysyłam ten sam plik na czytniku już jej nie widzę. Próbowałem kilka razy, także uaktualniając css. Bez skutku.

Istotnie… Po wysłaniu pliku do chmury czcionki zostały wykastrowane z pliku, który znalazł się na czytniku. Wygląda to na ten sam błąd, który już ktoś zgłosił wcześniej na moim blogu: http://blog.blaut.biz/2013/12/polemika- ... omment-574

Niestety, mimo, że zgłaszałem do Amazonu ten problem z usuwaniem plików czcionek przez chmurę, nie uzyskałem, żadnej odpowiedzi. Spróbuję się jeszcze raz przypomnieć w tej sprawie. Natomiast jedno jest pewne. Ten błąd jest inny niż ten dotyczący szyfrowanych fontów.

Dodałem do epubQTools sprawdzanie obecności pliku encryption.xml jako źródła potencjalnych problemów z fontami: https://github.com/quiris11/epubQTools/ ... 690ba37a16

Autor:  Artii [ 15 kwi 2014 10:55:58 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Taki trochę ślepy strzał.
W fontach (ttf/otf) jest pole definiujące co można z fontem zrobić w tym pozwalające (bądź nie) na dołączanie do dokumentu, może to to?

Autor:  UncleLion [ 15 kwi 2014 11:13:34 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Artii: raczej nie to. Wziąłem czcionkę która w innym pliku chodzi bez problemu.

Autor:  quiris [ 15 kwi 2014 11:28:16 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Artii napisał(a):
W fontach (ttf/otf) jest pole definiujące co można z fontem zrobić w tym pozwalające (bądź nie) na dołączanie do dokumentu, może to to?
Nie. To nie to. To jest coś z kodem związane. Jakiś specyficzny błąd chmury, który powoduje w pewnych warunkach wycinanie plików z fontami. Wykastrowałem plik AdiosMuchacios.epub zostawiłem minimalne stylowanie:
Kod:
body {
  font-family: "Lobster 1.4";
}


@font-face {
  src: url(../Fonts/Lobster.otf);
  font-family: "Lobster 1.4";
  }

I tym razem chmura nie wycięła tego pliku z fontami. Myślę, że trzeba by tu poświęcić trochę czasu i metodą prób i błędów znaleźć, gdzie tkwi problem.

Autor:  quiris [ 15 kwi 2014 11:32:56 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Tu jest inny wątek na ten temat: http://www.mobileread.com/forums/showth ... p?t=218255

Niestety, bardzo chaotyczny i w sumie na końcu niewiele pożytecznych informacji można się dowiedzieć.

Autor:  UncleLion [ 15 kwi 2014 12:08:08 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

quiris napisał(a):
Dodałem do epubQTools sprawdzanie obecności pliku encryption.xml jako źródła potencjalnych problemów z fontami: https://github.com/quiris11/epubQTools/ ... 690ba37a16


ten moduł trzeba odpalać jakoś osobno czy przy tradycyjnym sprawdzaniu pliku (-q) od razu będzie informował o błędzie ?

Autor:  quiris [ 15 kwi 2014 12:49:42 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

Przy tradycyjnym sprawdzaniu z opcją -q. Nie zaktualizowałem execa. Więc teraz działa po pobraniu i odpaleniu python epubQTools.py -q

Autor:  quiris [ 15 kwi 2014 13:03:04 ]
Tytuł:  Re: epubQTools - skrypt do walidacji i konwersji ebooków

quiris napisał(a):
Myślę, że trzeba by tu poświęcić trochę czasu i metodą prób i błędów znaleźć, gdzie tkwi problem.

Taka strona html:
Kod:
<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <link href="../Styles/stylesheet.css" rel="stylesheet" type="text/css"/>
</head>

<body>

  <h1>1996</h1>

  <p class="podtytul">Od roweru do ekranu</p>

</body>

</html>


Razem z takim kodem CSS:
Kod:
@font-face {
  src: url(../Fonts/Lobster.otf);
  font-family: "Lobster 1.4";
  }

.podtytul {
  font-family: "Lobster 1.4", serif;
}

Powoduje, że chmura Amazonu usuwa font Lobster.otf z pliku Mobi. Wystarczy usunąć linkę <h1>, żeby font został zachowany. Ewidentnie jakiś koszmarny bug tu się przyplątał Amazonowi.

Strona 3 z 12 Wszystkie czasy w strefie UTC + 1 [czas letni (DST)]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/