#title LOdE en Epubo
#author Sergio Pokrovskij

<contents>

* Enkonduko
Ekde ja jaro 2017ª «La Ondo de Esperanto» adoptis 2 bitlibrajn
formojn: PDF kaj Epubo. Ĝis nun mi malmulte atentis Epubon, ĉar mi
principe preferas la pli inteligentan Fikŝenbukon (mi klarigis tion
en [[../../artikoloj/bitlibroj/bitlibroj.html][mia ĵusa studaĵo]]); tamen mi ja ĝojas, ke Epubo disponigas novajn
eblojn por komputila traktado de la tekstoj, kaj mi profitis la
okazon ekzameni tiun normon pli atente.

Hodiaŭ (je 2017-04-08) mi jam posedas 5 epubajn numerojn de LOdE, kaj
mi povas fari kelkajn konkludojn.

Mi uzas komputilojn linuksajn, kaj ĉiuj procedoj priskribitaj en
ĉi tiuj notoj estas faritaj per rimedoj linuksaj; sed evidente
ekzistas samfufukciaj rimedoj vindozaj, facile troveblaj.

* Pri la tiparoj
** La surpriza misproporcio de ampleksoj
Okulfrapa strangaĵo estas tio, ke la epubaj versioj okupas multe pli
da memoro, ol la PDF-aj:

Lo-257.epub | 4,5M | > | Lo-257.pdf  | 1,8M
Lo-267.epub | 4,2M | > | Lo-267.pdf  | 4,5M
Lo-268.epub | 3,8M | > | Lo-268.pdf  | 4,0M
Lo-269.epub | 4,0M | > | Lo-269.pdf  | 3,2M
Lo-270.epub | 4,6M | > | Lo-270.pdf  | 3,7M

Apriore devus esti inverse: la teksta formo normale estas pli
lokŝpara ol la grafika.

Nu, la kaŭzo estas facile divenebla: ambaŭ versioj entenas la uzatajn
tiparojn, tamen la PDF-a pakilo reduktas la tiparojn, lasante en ĉiu
PDF-dosiero nur tiujn tiparajn signojn, kiuj efektive aperas en la
teksto de la numero; dum la epuba pakilo senzorge enpakas la tutajn
tiparojn, eĉ se la tekstoj uzas nur kelkajn elcentojn da ties
signobildoj.

** Redukti la tiparojn

Mi uzis Kalibron (*Calibre*) por forfiltri la neuzatajn tiparajn
signobildojn. Tion probable eblas fari per GUI, sed por mi pli
oportunas la konzola komandolinio, ekz‑e:

<example>
$ ebook-polish -f Lo-270.epub 
Subsetting font: PT Serif
Subsetting font: DejaVu Sans Bold
Subsetting font: PT Serif Bold Italic
Subsetting font: PT Serif Bold
Subsetting font: DejaVu Sans Bold Oblique
Subsetting font: PT Serif Italic

------------------------------ REPORT ------------------------------
## Polishing: EPUB

### Subsetting embedded fonts
Decreased the font PT Serif to 36.4% of its original size
Removed unused font: OEBPS/Fonts/DejaVuSans.ttf
Removed unused font: OEBPS/Fonts/DejaVuSans-Oblique.ttf
Decreased the font DejaVu Sans Bold to 26.3% of its original size
Decreased the font PT Serif Bold Italic to 22.8% of its original size
Decreased the font PT Serif Bold to 29.7% of its original size
Decreased the font DejaVu Sans Bold Oblique to 22.3% of its original size
Decreased the font PT Serif Italic to 26.2% of its original size
Reduced total font size to 17.8% of original

----------------------------------------------------------------------
Polishing took: 1.1 seconds
Output written to: Lo-270_polished.epub
$
$ du -k Lo-270*epub
4668    Lo-270.epub
3020    Lo-270_polished.epub
$
</example>

; % for i in *.epub; do ebook-convert $i --subset-embedded-fonts > polish.log; done
; % du -k Lo*
; 4600    Lo-257.epub
; 3024    Lo-257_polished.epub
; 4232    Lo-267.epub
; 2588    Lo-267_polished.epub
; 3828    Lo-268.epub
; 2184    Lo-268_polished.epub
; 4076    Lo-269.epub
; 2432    Lo-269_polished.epub
; 4668    Lo-270.epub
; 3020    Lo-270_polished.epub
; %

Rezulte:

kbajt: || Originalo || ; || kbajt: || Post tipara redukto || Gajno ||  ||   ||
4600  |  Lo-257.epub | > | 3024  |   Lo-257_polished.epub | 34 % | > | *1820* |  Lo-257.pdf
4232  |  Lo-267.epub | > | 2588  |   Lo-267_polished.epub | 39 % | < | 4584 |  Lo-267.pdf
3828  |  Lo-268.epub | > | 2184  |   Lo-268_polished.epub | 43 % | < | 4068 |  Lo-268.pdf
4076  |  Lo-269.epub | > | 2432  |   Lo-269_polished.epub | 40 % | < | 3228 |  Lo-269.pdf
4668  |  Lo-270.epub | > | 3020  |   Lo-270_polished.epub | 35 % | < | 3776 |  Lo-270.pdf
21404 ||| Sume   ||| > ||| 13248 |||                     ||| 38 % |||   |||   |||  

<comment>
+----------------------+---+--------------------------------+-------+------------------------+
| Originalo            | ; |Post tipara redukto             | Gajno |                        |
+-------+--------------+---+-------+------------------------+-------+---+------+------------+
| 4600  |  Lo-257.epub | > | 3024  |   Lo-257_polished.epub | 34 %  | > | *1820* |  Lo-257.pdf |
+-------+--------------+---+-------+------------------------+-------+---+------+-------------+
| 4232  |  Lo-267.epub | > | 2588  |   Lo-267_polished.epub | 39 %  | < | 4584 |  Lo-267.pdf |
+-------+--------------+---+-------+------------------------+-------+---+------+-------------+
| 3828  |  Lo-268.epub | > | 2184  |   Lo-268_polished.epub | 43 %  | < | 4068 |  Lo-268.pdf |
+-------+--------------+---+-------+------------------------+-------+---+------+-------------+
| 4076  |  Lo-269.epub | > | 2432  |   Lo-269_polished.epub | 40 %  | < | 3228 |  Lo-269.pdf |
+-------+--------------+---+-------+------------------------+-------+---+------+-------------+
| 4668  |  Lo-270.epub | > | 3020  |   Lo-270_polished.epub | 35 %  | < | 3776 |  Lo-270.pdf |
+-------+--------------+---+-------+------------------------+-------+---+------+-------------+
| 21404 | Sume         | > | 13248 |                        | 38 %  |   |      |             |
+-------+--------------+---+-------+------------------------+-------+---+------+-------------+
</comment>


Nun la proporcio estas pli konvena al la normalo, kvankam Lo-257.pdf
plu estas nenormale pli mallonga (1.8Mbajt) ol Lo-257_polished.epub
(3Mbajt). Mi ne scias la kaŭzon; supozeble, la epuba dosiero entenas
pli grandajn bildojn. Pri kompaktigo de bildoj mi parolos [[#qualit][poste]].

<comment>
% for i in *.epub; do
> ebook-convert $i redukt/$i --subset-embedded-fonts
> done
...
**The cover image has an id != "cover". Renaming to work around bug in Nook Color**
...
%
% ls -lhG redukt
total 17M
-rw-rw-r-- 1 sergio 3,0M апр.   8 10:31 Lo-257.epub
-rw-rw-r-- 1 sergio 2,6M апр.   8 10:31 Lo-267.epub
-rw-rw-r-- 1 sergio 2,4M апр.   8 10:31 Lo-268.epub
-rw-rw-r-- 1 sergio 2,7M апр.   8 10:31 Lo-269.epub
-rw-rw-r-- 1 sergio 3,2M апр.   8 10:31 Lo-270.epub
-rw-rw-r-- 1 sergio 3,2M апр.   8 10:31 lo.epub
% 

Lo-257.epub | 3,0M | Lo-257.pdf  | 1,8M
Lo-267.epub | 2,6M | Lo-267.pdf  | 4,5M
Lo-268.epub | 2,4M | Lo-268.pdf  | 4,0M
Lo-269.epub | 2,7M | Lo-269.pdf  | 3,2M
Lo-270.epub | 3,2M | Lo-270.pdf  | 3,7M
</comment>

** Pri la bitlibraj (mal)liberoj

Granda avantaĝo de fleksformataj normoj (kia, inter aliaj, estas
Epubo) kompare kun la rigidaj (kia PDF) estas la eblo adapti la
prezentadon al la aparato, legokondiĉoj kaj personaj preferoj de la
leganto.

La neceso adapti la tiparon kaj aliajn tipografiajn trajtojn al la
uzata materialo estas konata ankaŭ en tradicia presarto. Ekz‑e kiam
en la 18ª jc oni inventis kaj vaste ekzuzis la glacean paperon, tiu
novaĵo invitis al kreo de novaj tiparoj kun granda kontrasto inter la
dikaj kaj tre maldikaj strekoj, kaj kun rektliniaj serifoj — tiparoj
similaj al tiu de *Bodoni* :

[[img/bodoni.png][Teksta specimeno de Bodonia tiparo (atentu la literon «N»)]]

Tiaj tiparoj aspektas tre bele sur altkvalita papero, luksaj
tiparoj por luksaj presaĵoj celantaj aristokratojn; sed ili paneas
sur papero malluksa (malkompakta kaj iom malglata, kia estas la
gazeta papero). Por paperoj malluksaj pli konvenas pli pezaj
tiparoj por la amaso, kia estas ekz‑e Tajmzo aŭ la senserifaj
tiparoj. Ekzemplon pri maltaŭga uzo de kontrasta tiparo donas la
originalo de la Fundamento:

[[img/azbuko.png][Faksimila peco el la Rusa Gramatiko fundamenta (la sekcio «Азбука»)]]

Oni bone vidas la dikajn vertikalajn fostojn de **и н п** — sed la hare
maldikaj strekoj horizontalaj kaj oblikva estas preskaŭ nevideblaj
(kaj ofte tute malaperas ĉe nesufiĉe distingiva skanado).

La ekranoj, per kiuj oni legas bitlibrojn, estas ne malpli diversaj,
ol la specoj de papero. Tial ne estas prudenta trudi al la legantoj
iun senalternativan tiparon (tamen tia estas la tradicio epuba).

La epubuloj pretendas, ke granda avantaĝo de Epubo estas ĝia povumo:
oni povas precize priskribi, kiel aspektu ĉiu aranĝa detalo. Ĉi tio
estas miskoncepto: tia trajto konvenas al la rigidformata PDF, kie oni
antaŭfiksas *ĉion;* la provo antaŭfiksi iujn trajtojn, lasante varii
aliajn, kondukas al diversaj fuŝoj (vd ĉi-sube pri la torditaj
bildoj).

Por legi librojn epubajn mi kutime uzas Kulrideron (*Coolreader*), en
kiu mi malmarkas la opcion «Uzi la kunpakitajn stilojn» — tiel la
teksto pli bone legeblas. Aliflanke, se oni volas legi la tekstojn
en la tiparoj preferataj de la redaktoroj de periodaĵo, tiam sencas
instali tiujn tiparojn en la legilon, por teni unu solan ekzempleron da
ili prefere ol dekojn aŭ centojn da ekzempleroj, pakitajn en ĉiun
numeron. Tial mi verkis skripton kiu tute forsarkas la normajn
ĉeftekstajn tiparojn.

(Atentindas, ke multaj malnovaj libroprezentiloj epubaj ne kapablas
taŭge trakti literojn unikodajn ekster la kodo Latina Okcidenta, do
ankaŭ la ĉapelitajn literojn esperantajn — krom per kunpakita
tiparo. Tia estas ekz‑e la malnova *Adobe eBook Reader/Adobe Digital
Editions,* instalita en multaj librolegiloj; sed nun ĝia ĵusa
versio 4.5.4 ne plu havas ĉi tiun difekton.)

** Forsarki la ordinarajn tiparojn
La epubaj bitlibroj de LOdE uzas ĉeftekste la tiparajn familiojn
=DejaVu Sans= kaj =PT Serif=. Mia skripto [[./sarku_LOdEon][sarku_LOdEon]] forigas ĉi tiujn,
kaj *nur* ĉi tiujn tiparojn; ĉar imageblas ke aliaj tiparoj estos
uzataj por prezenti iujn ekzotajn aŭ nenorme koditajn signojn, kiuj
mankas en la ordinaraj tiparoj unikodaj.

La familio =DejaVu= estas unu el la tiparaj familioj kiujn mi mem
volonte uzas, kaj kiun mi havas instalita en miaj surtabla kaj teka
komputiloj. En aparatoj Androjdaj pli bone aspektas la tiparaj
familioj =Droid {Serif,Sans,Mono}=, disponeblaj tie elskatole, kaj
kovrantaj simile vastajn signarojn unikodajn. Tial en la stilfolio
=OEBPS/Styles/Stiloj.css= la skripto anstataŭigas:

 - =font-family:"PT Serif"= → =font-family:"Droid Serif", "DejaVu Serif"=
 - =font-family:"DejaVu Sans"= → =font-family:"Droid Sans", "DejaVu Sans"=

ktp. (La repertuaroj da signoj en tiuj tiparoj estas tre similaj,
kaj tute sufiĉaj por la bezonoj de LOdE.)

*Uzado:*

Iru en la dosierujon kie estas la sarkota revuo, ekz-e

<example>$ cd ~/Documents/Books/eo/Gazetoj/LOdE</example>

kaj voku la skripton, ekz-e

<example>$ sarku_LOdEon Lo-270.epub</example>

Se la operacio sukcesos, la skripto eligos tian mesaĝon:

<example>"Lo-270.epub sukcese sarkita (je 42 %)"</example>

kaj la sarkita dosiero (en la ekzemplo, =Lo-270.epub=) aperos kun la
sama nomo en =/tmp/nova= (ekz‑e =/tmp/nova/Lo-270.epub=). La forsarkotaj
tiparoj okupas 3908 kbajt malpakite, kaj 2 Mbajt zipite.

Mezume la sarko ŝparas 47% el la originala amplekso:

<comment>
Subsetting a Font

When you embed a font, you can optionally choose to *subset* it. When you subset a font, you include only the glyphs that you need, i.e., the characters that are actually used in the EPUB. For example, suppose your embedded font includes support for small letter alpha (ɑ), but alpha is not used anywhere in your EPUB. If you were to subset the font before embedding it, the character information for the alpha would be thrown out since it is not needed in the context of your EPUB.

The primary advantage of subsetting an embedded font is that doing so reduces the file size, sometimes significantly. To give you an idea of how subsetting can affect file size, let’s look at the example in Figure 4-7 again. I prepared another EPUB file of *The Waste Land*, but this time I used DejaVuSerif, which has support for 2,888 glyphs and a file size of 562 KB. I then prepared yet another version of the EPUB, only this time I subsetted the font so that it included support for the 18 glyphs that I needed for the epigraph. The results were dramatic: the file size dropped from 562 KB to 15 KB, and the characters rendered as expected. With these results in mind, subsetting is an attractive option when you want to embed a font for more robust glyph coverage without introducing “bloat.” 

Why not just use an image?

When considering your options on how to address missing or specialized glyphs, you might wonder, “Why not just use an image?” It’s true that you can swap in an image of a character instead of embedding a fallback font, but I don’t recommend it as the “best practice.” Once you set a character as an image, that character is unfindable in search, typographically ugly and uneven, and useless for accessibility (see Chapter 9 for more on accessibility). For these reasons, using an image for an unusual character should be an absolute last resort.

# Lo-257.epub 	4.5M	2.6M	-42 % | 1,8M
# Lo-267.epub 	4.2M	2.2M 	-46 % | 4,5M
# Lo-268.epub 	3.8M	1.8M 	-51 % | 4,0M
# Lo-269.epub 	4.0M	2.1M 	-48 % | 3,2M
# Lo-270.epub 	4.6M	2.6M 	-42 % | 3,7M
# -----------------------------------
# Sume 	       21.1M   11.2M	-47 %
#
# La forsarkotaj tiparoj okupas 3908 kbajt malpakite,
# kaj 2 Mbajt zipite.
</comment>

           || Orig. || Sark. | Or−Sa || Red. || Re−Sa
Lo-257.epub |  4.5M |   2.6M |  42 % | 3.0M | 13 %
Lo-267.epub |  4.2M |   2.2M |  46 % | 2.6M | 12 %
Lo-268.epub |  3.8M |   1.8M |  51 % | 2.4M | 22 %
Lo-269.epub |  4.0M |   2.1M |  48 % | 2.7M | 21 %
Lo-270.epub |  4.6M |   2.6M |  42 % | 3.2M | 16 %
Sume 	  ||| 21M ||| 12M  |||  47 % ||| 14M ||| 17 %

(«Or−Sa» estas la gajno de SArkita dosiero rilate al la ORiginala;
«Re−Sa» estas la gajno de SArkita dosiero rilate al la REduktita per
filtrado.)

#qualit
* Kompaktigi la bildojn

Alia ŝparebla parto de LOdE-aĵoj estas en ties bildoj.

; http://photo.stackexchange.com/questions/30243/what-quality-to-choose-when-converting-to-jpg

Interesajn ekzemplojn pri la efiko de la kunprema grado je la kvalito
de =jpeg=-bildoj donas fotografista [[http://regex.info/blog/lightroom-goodies/jpeg-quality][blogaĵo]] anglalingva. La
fotografistoj opinias, ke kunpremo rezultiganta kvaliton malpli
grandan ol 60% estas neakceptebla, kaj asertas, ke ili rimarkas
difektojn jam ĉe 90%. Bitlibristoj opinias tian kvaliton senbezona en
la malgrandaj ilustraĵoj bitlibraj.

Miaj spertoj konfirmas la opinion bitlibristan. Kvankam ĝenerale
endas ekzameni ĉiun bidon aparte, kaj aparte decidi, kian kvaliton
ĝi postulas (kia perdo estas por ĝi tolerebla), mi eksperimente
aplikis la redukton ĝis 33% al ĉiuj bildoj de la 5 LOdE-numeroj per
mia skripto [[./jpeq][jpeq]] (ĝi uzas la linuksan programon =imagemagick=):

           || Sark. || q=33 || Gajno
Lo-257.epub |  2,6M |  981K | 62 %
Lo-267.epub |  2,3M | 1014K | 55 %
Lo-268.epub |  1,9M |  747K | 59 %
Lo-269.epub |  2,1M |  936K | 55 %
Lo-270.epub |  2,7M |  982K | 63 %
Sume      |||  12M ||| 4,6M ||| 61 %

Mi malmulte spertas pri bildotraktado. Mi ne rimarkas ian ajn perdon
de kvalito sur la ekranoj de miaj legiloj — krom sur la grafikaĵo
responda al tiu de Lo-270.pdf, p. 5 (sed mi ja diris, ke ĉiujn bildojn
endas ekzameni individue). Juĝu mem, la rezultaj bitlibroj troveblas
[[./specimenoj/sentiparaj-kunpremitaj/][ĉi tie]].

Ĝenerale, =JPEG= estas preferinda por fotaĵoj pejzaĝaj, portretaj ktp —
svagaj, kun duontonoj; dum por bildoj kun klaraj konturoj (desegnaĵoj,
diagramoj, matematikaj kurboj kun teksto) preferindas =PNG= aŭ =GIF=, kiuj
ne perdas detalojn kaj samtempe estas pli memorŝparaj por tiaspecaj
bildoj. Bonvolu kompari (verdire, la ĉi-suba gifaĵo estas konvertita
el bildo JPEG-a, kiu do iom svagigis la konturojn; se oni estus
konservinta la grafikaĵojn rekte en GIF-on, la ŝparo kaj la kvalito
estus pli grandaj):

[[img/F03-q33.jpg][JPEG kunpremita ĝis la kvalito 33%% (20 kbajt)]]

[[img/F03-orig.jpg][La originala redakcia JPEG-bildo (44 kbajt)]]

[[img/F03.gif][La GIF-bildo (36 kbajt)]]

; [[img/F03-sharpen.gif][La GIF-bildo (36 kbajt)]]
; ---
; http://www.websiteoptimization.com/speed/tweak/format/

Por la ceteraj bildoj mi uzis la plej evidentan metodon por ŝpari la
memoron okupatan de la bildoj. Mi uzis tute arbitran kvalitvaloron
(33%) — por iuj bildoj eblus uzi eĉ pli malgrandan (kaj pli
memorŝparan) valoron. Evidente, ekzistas pli inteligentaj (kaj
senperdaj) metodoj — ekz-e por la nigra-blankaj desegnaĵoj kaj
gravuroj ekzistas pli bonaj normoj ol =jpeg=. Sed mi ne kompetentas pri
tio.
; https://arstechnica.com/information-technology/2017/03/google-jpeg-guetzli-encoder-file-size/

* Laŭmezura PDF
La redakcia PDF-versio de LOdE havas la formaton 150×200 mm, kun la
tipara grado kutima por presaĵoj, kio por miaj okuloj estas iom
nekomforte malgranda. Tamen ĉe la surtabla ekrano mi povas ĝin zomi
ĝis 195×260 mm, kaj tio estas bone legebla.

Por legado per porteblaj librolegiloj estas destinita la epuba
versio, sed bedaŭrinde iliaj prezentiloj diverse kaj ofte maltaŭge
prezentas la bitlibron. Iuj (ekz‑e *FBReader*) ne povas prezenti
tabelojn (kaj tabeloj ofte estas bezonataj, ekz‑e LOdE 270, p. 7);
iuj ignoras la kunpakitajn stildosieron kajaŭ tiparojn, ktp. En tia
situacio povas helpi konverto de epuba versio en PDF-aĵon kun la
bezonata formato.

Tian konvertilon disponigas *Kalibro*. Tiu sistemo posedas sufiĉe
bonan prezentilon por epubaj bitlibroj, kaj ĝian prezentaĵon eblas
konservi kiel PDF-dosieron en bezona formato; komandlinie,

<example>
$ ebook-convert Lo-270.epub Lo-270-9x12.pdf -u centimeter --custom-size 9x12
</example>

La plej populara librolegila ekranformato estas la 6-cola (la
diagonalo 6″, la dimensioj 9×12 cm) — pli grandaj ne estas
enpoŝigeblaj. Mi posedas du tiajn legilojn. Tia konverto taŭge
funkcias, sed eble por PDF preferindas formato laŭnorma; la formato
A6 = 105×148 mm estas taŭga aproksimo (B7 = 88×125 mm estas ankoraŭ
pli proksima, sed Kalibro ne rekonas ĝin kiel norman); do,

<example>
$ ebook-convert Lo-270.epub Lo-270-A6.pdf --paper-size a6
</example>

La rezulta PDF-dosiero estas ekzakte tia, kian prezentas la Kalibra
libroprezentilo epuba en samformata (9×12 cm aŭ resp. A6) ekrana
fenestro. Kaj la problemoj kiujn mi tuj priskribos ne estas speciale
PDF-aj — ili egale aperas ĉe samformata legado de versio epuba.

#tordo
** Torditaj bildoj
Mi ne vidas la perdon de kvalito de =jpeg=-kunpremo, priskribita
[[#qualit][ĉi-supre]]; sed mi klare vidas, ke la bildoj de la epuba versio sur
nelarĝa ekrano aspektas karikature — samkiel ankaŭ en la PDF-versio en
la formato A6.

[[img/CDELI.png][Horizontala ŝrumpo de bildo]]


La kaŭzo estas facile trovebla en la epuba dosiero.

 1. La stilfolio =OEBPS/Styles/Stiloj.css= ordonas, ke la bildoj ne estu
    pli larĝaj (nek pli altaj), ol la paĝo:<br>
    =img { ... max-width:100%; max-height:100%; }=
 2. La bildo mem en =OEBPS/Text/06.xhtml= postulas, ke la dimensioj estu
    354×560 px:<br>
    <code><img alt="CDELI" height="354" src="../Images/F06.jpg" width="560" /></code>

Ĉi tiuj preskriboj senprobleme kunekzistas en la grandaj formatoj
(pli larĝaj ol 15 cm); sed la populara 6-cola formato havas la larĝon
9 cm, kio (ĉe la ordinaraj distingivoj) estas malpli ol 354 px. Laŭ la
postulo (1) la larĝo ŝrumpas. Aliflanke, la alto 560 px estas plene
lokebla en paĝ­alto 12 cm, tial la dimensio vertikala povas okupi la
preskribitajn 560 px. Rezultas misproporcio.

La kuraco estas simpla: sufiĉas forigi la malnecesajn indikojn
<code>height="354"</code> kaj <code>width="560"</code>. Post tio la
bildo ŝrumpos samproporcie en ambaŭ dimensioj. La korektita paĝobildo
el la korektita dosiero [[specimenoj/Lo-270-A6.pdf][Lo-270-A6.pdf]]:

[[img/CDEL2.png][La korektita paĝo (en A6)]]

Cetere, la koloro de la subskribo (=color: #9B0000=) aspektas aĉe en
nigra-blanka legilo. La skripto =sarku_LOdEon= tiajn kolorordonojn
forsarkas.

; "A" Paper Sizes in Pixels - Low Resolutions
; -------
; Size	72 PPI          96 PPI          150 PPI         300 PPI
; A4	595 x 842	794 x 1123	1240 x 1754	2480 x 3508
; A5	420 x 595	559 x 794	874 x 1240	1748 x 2480
; A6	298 x 420	397 x 559	620 x 874	1240 x 1748
; A7	210 x 298	280 x 397	437 x 620	874 x 1240
; http://www.papersizes.org/a-sizes-in-pixels.htm

** Vortodivido
La liberaj bitlibrolegiloj, kiujn mi kutime uzas: Kulridero,
Foboridero ([[https://eo.wikipedia.org/wiki/CoolReader][CoolReader]], [[https://eo.wikipedia.org/wiki/FBReader][FBReader]]), ebligas instali mian
[[../bitlibrodivido.html][vortodividan ŝablonaron por Esperanto]] (fakte, Foboridero elskatole
disponigas mian unuan version de la ŝablonaro, ĉerpitan el la Teĥa
deponejo) kaj aŭtomate tranĉas la vortojn laŭ la uzata formato de la
ekrano.

Manko de esperanta vortodivido estas tre ĝena en la mallongliniaj
tekstopecoj, kiel demonstras la bildoj el [[#kor][la sekva sekcio]]. Por la
formato A6 la ĝenon eblas mildigi per malgrandigo de la marĝenoj; sed
la ekranoj poŝtelefonaj restos mallarĝaj kun ĉia ajn (kaj eĉ nenia)
marĝeno.

Teorie ebla solvo estus anticipe dishaki ĉiujn vortojn laŭ la
ŝablonaro kaj konservi la bitlibron kun la dismarkado de ĉiuj taŭgaj
vortodividoj; ekz‑e tiel (kp kun la bildo [[#kor][ĉi-suba]]):

  <code><p class="Cito">La la¬s¬t¬an tagon de la vivo li far¬t¬is pli
  bone. Ŝaj¬n¬is al li, ke li de¬no¬ve povos re¬ko¬men¬ci la
  la¬bo¬r¬on, kaj tiu penso bone in¬flu¬is lian hu¬mo¬r¬on. Sed lia
  koro ĉesis bati, eble en la mo¬men¬to, kiam li pen¬sis:</p></code>

Tiu solvo funkcias por la novaj libroprezentiloj (ekz‑e *Gitden Reader*,
la ĵusa versio 4.5.4 de *Adobe Digital Editions*), sed fiaskas ĉe la
malnovaj (ekz‑e pli fruaj versio de *ADE*). Vi povas testi vian
prezentilon per [[specimenoj/LO-270-shy.epub][ĉi tiu dosiero]].

Fakte, en la redakcia originalo kelkloke estas dissemitaj eventualaj
spacetoj, kiuj probable plibeligas la aspekton *en iu konkreta formato*,
ekz‑e (ĉiuj en =03.xhtml=):

  <code>venas ¬poste, Esperanto-parolant¬aron, Inter¬nacia,
  Esper¬antujo, Ret¬ejoj, Esperanto-scienc¬istoj,
  Esperanto-¬adaptado</code>

Tio ne estas bona, ĉar kutime la uzula rekomendo superregas la
aŭtomatajn, kaj en alia formato pli konvenus (aŭ sole eblus) alia
tranĉo ol la redakcie indikita. Oni indiku aŭ ĉiujn taŭgajn
tranĉlokojn, aŭ nenian — krom en la okazoj de semantika malambiguigo, kia
ekz‑e =sen¬tema= kontraste al =sent¬ema=.

#versoj
** Versaĵoj
En ĉiu numero de LOdE aperas poeziaĵoj; sed male ol Fikŝenbuko, Epubo
tian ĝenron ne konas, kaj ne kapablas taŭge esprimi ilin por uzo
fleksformata. Versaĵo en Epubo aspektas taŭge nur se la formato de la
ekrano estas sufiĉe larĝa. Komparu (en la formato A6):
<literal></p>
<table class="image" width="100%">
  <tr><td align="center"><img src="./img/versportreto7.png" alt="Versaĵo en Epubo"></td>
  <td align="center"><img src="./img/versfb2.png" alt="Versaĵo en Fikŝenbuko"></td></tr>
  <tr><td align="center" class="image-caption">Versaĵo en Epubo</td>
  <td align="center" class="image-caption">Versaĵo en Fikŝenbuko</td></tr>
</table>
<p></literal>
Fakte, ĉi tiun versportreton oni povus aranĝi en maniero taŭga por
kelkaj mallarĝaj formatoj per korekto de la stilo =.poemo=, uzata por
kodi la versojn. La originala epubaĵo enhavas jenon:

<example>
.poemo {
   text-indent: 0px;
   margin-left: 100px; /* fi! */
}
</example>

La maldekstra marĝeno je =100px= estas multe tro granda por portebla
aparato. Ĝi probable estas heredita de la grandformata PDF-versio, kie
ĝi horizontale centrigas la versaĵon: 150mm estas la paĝolarĝo,
proksimume 30mm (20%) estas la maldekstra marĝeno.
; 100 px = 30 mm; 1px = 0.3mm; 100px = 20%

Tamen tia marĝeno ne centrigas la versojn ĉe aliaj paĝolarĝoj (aŭ
distingivoj). Interalie, por la formato A6 ĝi rezultigas ŝovon al la
dekstra rando, tiom grandan, ke por iuj linioj ne restas sufiĉe da
spaco. Evidenta korekto estas malgrandigi la marĝenon, ekz‑e por A6
bone taŭgus =margin-left: 10%= (t.e. 10% de la paĝolarĝo).

Krome, el la ĝenerala difino de alineo (=p=) la stilo =.poemo= heredas la
difinon =text-align: justify;= sekve de tiu ĝisrandigo aperas la
supermezure longaj spacegoj en la verso «instruis multe, gvidis, [ekzamenis,]».
Necesas do superregi la ĝisrandigon:

<example>
.poemo {
   text-indent: 0px;
   margin-left: 10%;   /* ! */
   text-align: left;   /* ! */
}
</example>

Tamen tio ne helpos okaze de pli longaj linioj aŭ pli mallarĝaj
ekranoj aŭ pli granda tipara grado, kiun povas preferi la leganto.
Bona solvo en Epubo ne ekzistas. Oni povas nur malgrandigi la riskojn.
Interalie, uzi ankoraŭ malpli grandajn marĝenojn — eventuale neniajn,
apartigante la versojn per aliaj rimedoj: ekz‑e tiparajn, kiaj kursivo
aŭ ia danda tiparo:
<literal></p>
<table class="image" width="100%">
  <tr><td align="center"><img src="./img/garamond.png" alt="Apartigo per Garamondo"></td>
  <td align="center"><img src="./img/gabriola.png" alt="Apartigo per Gabriola"></td></tr>
  <tr><td align="center" class="image-caption">Apartigo per Garamondo</td>
  <td align="center" class="image-caption">Apartigo per Gabriola</td></tr>
</table>
<p></literal>
Tiojn plej taŭge povus agordi la leganto, kiu ja scias la apartaĵojn se
sia aparato kaj siajn preferojn estetikajn. Tiojn povas regi la
leganto de bitlibro fikŝenbuka; sed tio maleblas por leganto de
bitlibro epuba (ĉar epube mankas la nocio *versaĵo*).

Versaĵoj estas distingendaj disde citaĵoj, kiujn oni ofte apartigas
per enŝovo. La originala =Lo-270.epub= preskribas tro larĝajn marĝenojn
ambaŭflankaj, kiu sur nelarĝa ekrano aspektas tre malbele (precipe se
la prezentilo ne scipovas vortodividon). Jen por komparo samlarĝa
aranĝo epuba-redakcia, kaj mia aranĝo en Fikŝenbuko, kun la citaĵoj
markitaj per maldekstra marĝeno 5%jn larĝa kaj tiparo senserifa
(kontraste al la serifa tiparo ĉefteksta), kaj verso markita per ĝia
ankoraŭa marĝeno (ankoraŭ 5%, la verso estas entenata en la citaĵo)
kaj per kursivo (de la entenanta citaĵo ĝi heredas senserifecon): 
<literal></p>
<table id="kor" class="image" width="100%">
  <tr><td align="center"><img src="./img/mia_kor.png" alt="Verso en citaĵo (Epubo)"></td>
  <td align="center"><img src="./img/mia_kor2.png" alt="Verso en citaĵo (Fikŝenbuko)"></td></tr>
  <tr><td align="center" class="image-caption">Verso en citaĵo (Epubo)</td>
  <td align="center" class="image-caption">Verso en citaĵo (Fikŝenbuko)</td></tr>
</table>
</literal>
* Ekstrakti platan tekston
Iam oni bezonas nur la tekstan parton de publikaĵo, sen la bildoj.
Ekzemple, bildoj estas neuzeblaj por la blinduloj; ankaŭ en la
tekstaroj, farataj por esperantologiaj studoj, oni forigas la bildojn
(kiel en la kelkaj numeroj de LOdE kiuj aperas en la
[[http://tekstaro.com/][Tekstaro de ESF]]) — ankaŭ mi mem tenas similan tekstaron privatan.

Por tiu celo ekzistas, inter aliaj, la malpeza kaj rapida, kvankam
ne senerara, utilaĵo [[http://kevinboone.net/epub2txt.man.html][epub2txt]]; tamen se oni havas Kalibron, tiam oni
povas ludi per ties pli varia konzolaĵo [[https://manual.calibre-ebook.com/generated/en/ebook-convert.html#txt-output-options][ebook-convert]]

<example>
$ ebook-convert Lo-270.epub .txt
...
$ du -k Lo-270.*
4668    Lo-270.epub
128     Lo-270.txt
</example>

(t.e. la propra teksto pezas 128 kbajt, malpli ol 3% de la originala
bitlibro).

Verdire, ĉe tia tekstigo oni perdas iujn esencajn informojn, kiujn
esprimas la tipografia aranĝo. Ekz‑e la jena peco (kp LOdE-270.pdf,
p. 44) ŝajnas fuŝita, ĉar perdiĝis la enŝovo de la citaĵo, kiu rolas
kiel signoj interpunkciaj (citiloj):

  =Ankaŭ ne la antaŭmorta stato de la menso stimulis lin, ĉar la
  prezentotaj ideoj naskiĝis en lia menso jam antaŭ 40 jaroj, kaj=
  
  =malgraŭ ke mi de tiu tempo multe meditis kaj legis diversajn
  sciencajn kaj filozofiajn verkojn, miaj tiamaj ideoj pri Dio kaj pri
  senmorteco preskaŭ tute ne ŝanĝiĝis.=
  
Simile la kursivoj povas havi citilan funkcion, ktp. Tial pli konvena
estus malpeza marklingvo, kia ekz‑e estas *Tekstilo* ([[https://en.wikipedia.org/wiki/Textile_(markup_language)][Textile]]):
  
  =Ankaŭ ne la antaŭmorta stato de la menso stimulis lin, ĉar la
  prezentotaj ideoj naskiĝis en lia menso jam antaŭ 40 jaroj, kaj=
  
  =p(((()))). malgraŭ ke mi de tiu tempo multe meditis kaj legis
  diversajn sciencajn kaj filozofiajn verkojn, miaj tiamaj ideoj pri
  Dio kaj pri senmorteco preskaŭ tute ne ŝanĝiĝis.=
  
En ĉi tiu peco, aŭtomate konvertita per =ebook-convert=, la dua alineo
estas markita kiel alineo (=p=, *paragraph*) havanta enŝovojn grandajn je
4em maldekstre — pro =((((=, — kaj 4em dekstre — pro =))))=. Per tio oni
do divenas, ke temas pri citaĵo. Ankaŭ la tiparaj stiloj estas
markitaj en vikia maniero: =*kursivo*= ktp.

Ekzistas marklingvoj kiuj pli klare esprimas la logikan strukturon de
dokumentoj; sed la epubaj publikaĵoj, precipe tiaj faritaj per *Sigil*,
ne lasas onin esprimi la strukturon en aŭtomate rekonebla maniero.

<comment>
* Kalibra rubaĵo

% unzip -ca Lo-257.epub META-INF/calibre_bookmarks.txt
Archive:  Lo-257.epub
  inflating: META-INF/calibre_bookmarks.txt  [text]  
calibre_current_page_bookmark*|!|?|*26*|!|?|*/2/4/100/1:113

% 

67% Running PDF Output plugin
The cover image has an id != "cover". Renaming to work around bug in Nook Color
67% Rendered 01.xhtml

I've been able to fix the cover art problem. It seems that in the .opf file there are two parts that the nook is pretty strict with:

<meta name="cover" content="**cover**"/>  in <metadata>

and <item id="**cover**" href="images/cover.jpg" media-type="image/jpeg"/> in <manifest>

Both bold text needs to be exact "cover" in order for nook to load a
cover art. Other reader seems more lenient on this and I've seen
"cover-image", "cover1", etc just works fine in Adobe Digital
Edition. Anyway when I change them to "cover" I've got cover arts.
Try that.
https://bookclubs.barnesandnoble.com/thread/14834

* Konkludo
Ne tiom inĝenia, kiel =fb2pdf=; cetere, Epubo ne estas tiom fleksebla. Tamen ...

Fakte, estas uzata nenia ebuba trajto kiu mankus en Fikŝenbuko (aŭ pli
ĝuste, ĉio kroma estas fakte MALutila por flekseblo kaj adapteblo).

Ĉiutaga ŝargado.
</comment>



