PRS-505 a čeština podruhé

Před časem mě jeden čtenář upozornil na jednu trapnou věc: Můj návod na zprovoznění češtiny na PRS-505, nefunguje na sto procent: Patkové písmo funguje spolehlivě (toho bych si asi všiml, kdyby nefungovalo, i přesto, že v češtině čtu minimálně), ale bezpatkové podle mého návodu funguje jen napůl a neproporciální dokonce vůbec. Dalo dost práce vypátrat, jak to tedy doopravdy je, ale jsem přesvědčen, že jsem se konečně dobral kompletního řešení. A tentokrát jsem si ho i důkladně vyzkoušel, abych měl naprostou jistotu. Jediné, co mě utěšuje v mém zármutku nad tím, že jsem to poprvé nestrefil dokonale, je to, že stejnou chybu udělali mimo jiné autoři PRS Customizeru i původního Návodu na změnu fontů a nikdo si toho dosud nevšiml!!

Pozn.: Tento článek plynule navazuje na můj dřívější článek o zprovoznění českých fontů na Sony PRS-505 a u čtenáře předpokládám jeho znalost – nechci zbytečně opakovat to, co už jednou zaznělo a shodou okolností nebylo chybné :-). Doporučuji proto si před čtením tohoto článku zopakovat článek předchozí.

A teď rovnou do víru dění. Co bylo v předchozím článku špatně? Jedna drobnost: Zatímco patkové písmo integrované podle mého návodu fungovalo spolehlivě, bezpatkové písmo fungovalo pouze v menu, ale už ne v knihách, a neproporciální písmo pro jistotu nefungovalo vůbec. Jak to, že si toho tak dlouho nikdo nevšiml? Jednoduše: Drtivá většina knih je nastavena na patkové písmo (které funguje) a bezpatkové ani proporciální nepoužívají. O funkčnosti bezpatkového písma se tak zjevně většina uživatelů (já určitě) přesvědčovala podle toho, že bezpatkové písmo se používá v menu Readeru a tam se při použití mého návodu zdá všechno v pořádku. Na chybu přijdete prakticky jen tehdy, když si speciálně upravíte nějakou knihu na bezpatkové nebo neproporciální písmo a zkusíte se na Readeru podívat, jak to bude vypadat – s největší pravděpodobností totiž zjistíte, že se všechno zobrazuje standardním patkovým fontem. (Dobře se to dá ověřit na mé „knížce“ pro test češtiny, kde byl měl být každý řádek jiným typem písma.)

Kde leží příčina problému? Napřed jsem vůbec netušil, ale přes prodloužený víkend jsem po náročném experimentování konečně dospěl k teorii, která možná není stoprocentní, ale stoprocentně odpovídá pozorované realitě. Reader se podle všeho chová k různým fontům různě (!) a dokonce rozlišuje několik typů použití.

Za prvé, každý návod na změnu písem vás upozorní, že čtečka vyžaduje, aby fonty měly vyplněnou konkrétní font-family (např. „Dutch801 Rm BT“ pro patkové písmo). Když totiž font-family nevyplníte správně, tak čtečka vůbec nenaběhne – dostanete se do nekonečného cyklu restartů, který přerušíte jedině postupem pro odkousnutí čtečky. Naopak když si na úpravu font-family dáte pozor, čtečka začne fonty používat – ale jedině v menu! Pro použití v knihách to je málo, s výjimkou patkového fontu, který slouží jako jakýsi „font poslední záchrany“ a použije se i špatně vyplněný, pokud „nezaberou“ fonty ostatní (to se dá docela hezky ověřit tím, že ve čtečce nahradíte jenom patkové písmo a ostatní písma ne – v tom okamžiku se totiž začnou ss háčky a čárkami vypisovat všechny znaky ve všech stylech, ovšem s tím, že u bezpatkového nebo neproporciálního písma budou „háčkové“ znaky zobrazeny písmem patkovým).

Finta je v tom, a to se v žádném návodu na netu nedočtete, že kromě font-family je nutné upravit ještě font-full-name – teprve potom se písmo použije i v knize. Když to neuděláte, tak se sice nestane nic tak dramatického jako při nevyplnění font-family, čtečka klidně poběží, ale ta vaše písma prostě nezobrazí.

Jak tedy vypadá kompletní postup? Otevřte si první článek o češtině na kapitole „příprava fontů“. Kroky 1 a 2 udělejte přesně tak, jak jsou tam popsány. Následuje ale krok 3, který v původním článku popsaný není:

  1. Vedle Font Family je kontrolována i položka Full Font Name. Její nepřítomnost nevede k havárii čtečky, ale přesto zabrání použití písma v knihách. Full Font Name, který má být vyplněn u jednotlivých písem, naleznete v následující tabulce (pro úplnost je v ní uvedeno i Font Family):

    Typ písma Název souboru Font Family Full Font Name
    Proporcionální patkové (Times New Roman) tt0011m_.ttf Dutch801 Rm BT Dutch801 Rm BT Roman
    Proporcionální bezpatkové (Arial) tt0003m_.ttf Swis721 BT Swis721 BT Roman
    Neproporcionální (Courier New) tt0419m_.ttf Courier10 BT Courier10 BT Roman

    Ve všech případech tedy jde o stejný text jako v položce Font Family, ale doplněný o mezeru a Roman. Připomínám, že v souladu s doplněním z 19.8. je nutné vyplnit Full Font Name ve všech popiscích, ne jen v „Microsoft Unicode BMP only“.

    Pozn.: Jak se říká, důvěřuj ale prověřuj. Já ve skutečnosti nevím, jestli to má být u všech třech typů písma – protože patkové písmo fungovalo i bez vyplňování full-font-name, tak jsem to ani nezkoušel a nechal jsem u něj full-font-name tak, jak byl. Zato jsem si ale důkladně a ve všech kombinacích ověřil, že u bezpatkového i neproporciálního písma se full-font-name opravit musí, jinak to nebude fungovat. Ještě ilustrační obrázky, co vlastně po vás chci:

    Nastavení pro patkový font

    Patkový font

    Nastavení pro bezpatkový font

    Bezpatkový font

    Nastavení pro neproporciální font

    Neproporciální font

No a to je celé. Nic na tom není, vážně, akorát o tom dosud nikdo nevěděl. Každý se spokojil s tím, že čtečka už nepadá (to je zásluha opravené font-family) a že se to v menu zobrazuje správně, a už nepátral, jestli to taky funguje. Legrační je, že na půl cesty ke správnému výsledku se dostal autor PRS Customizeru – jeho unicode fonty totiž jsou dobře nastavené (mají správně vyplněnou font-family i full-font-name) u bezpatkového písma, ale chybně (jen font-family) u neproporciálního. Zvláštní…

Mimochodem, když už jsem si s těmi fonty hrál, opravil jsem bezpatkovou i neproporciální variantu písma Droid, takže pokud si ji stáhnete z mých stránek, stačí ji zkopírovat do PRS Customizeru a flashnout a bude vám to fungovat.

Podobné příspěvky:

9 komentářů “PRS-505 a čeština podruhé”

  1. avatar pepak napsal:

    Možné to je, pravděpodobné sotva – Calibre je psaný v Pythonu a není asi důvod, proč by se v interpretovaném jazyku mělo psát uživatelské rozhraní specificky pro konkrétní platformu.

  2. avatar markuc napsal:

    jj, to me napadlo, ale nikde jsem toto nastaveni v Calibru nenasel – je mozne, ze Calibru pro Win se chova a vypada jinak nez Calibru pro linux?

  3. avatar pepak napsal:

    Příčina bude pravděpodobně stejná jako v ostatních případech (viz starší komentáře): Pokud se Calibru neřekne nic jiného, předpokládá kódování UTF8. Je pravděpodobné, že tvoje knihy jsou ve Windows-1250, což musíš Calibru sdělit. Jak píšu, už to tu řešilo několik lidí.

  4. avatar markuc napsal:

    ahoj, mam takovy dotaz/problem, pouzivam linux ubuntu 9.10, se cteckou nejsou problemy, pouzivam program Calibri a vse beha, krome toho, ze mam par knizek ve formatu PDB, kde ale nejsou ceske znaky, nechapu moc proc…prosim poradte?

  5. avatar Vita napsal:

    Ahoj,
    Marosi, mel jsem uplne stejny problem jako ty – prevadel jsem je do LRF z PDB a ackoliv test cestiny byl OK, tak jine knihy nez test nebyly zobrazene spravne.

    Problem byl v tom, co psal Pepak vyse – Calibre nekdy nepozna vstupni kodovani, takze je potreba ho vyplnit rucne v druhe zalozce prevodu, v nasem pripade je asi nejvic knih v „windows-1250“.

    Snad Ti to pomuze.

  6. avatar pepak napsal:

    Pokud jde o RTF, tak ten musíš uložit v kódování Unicode. V článku o RTF je na to mezi komentáři program.

    Pokud jde o LRF, napadá mě buď to, že sis do LRF nechal integrovat ještě další fonty, které pochopitelně překryly fonty systémové, nebo že jsi zdrojový dokument měl v jiném kódování, než jsi Calibru řekl. To první se dá snadno poznat podle rychlosti otáčení stránek (je dost hrozná), to druhé se dá poznat pouhým pohledem, pokud jsi na to „vycvičen“, což asi nejsi – ale když vyfotíš obrazovku svého Readeru a pošleš mi ji, tak ti to potvrdím nebo vyvrátím.

    Každopádně pokud ti moje Zkoušky češtiny fungují dobře, tak máš flashovací část udělanou dobře a jde jen o to, jak zkonvertovat knihy do správné podoby.

  7. avatar Maros napsal:

    Ahoj Pepak,
    ako asi vsetci, aj ja trochu bojujem s cestinou v mojej PRS505.
    1, Flashol som cez PRS Customizer kodovanie podla Tvojho navodu
    2, nahral som si Tvoju knihu zkouska_cestiny.lrf a v knihe vidim vsetky znaky v poriadku
    3, 🙁 ziadne ine ceske knihy ci uz v RTF formate, alebo po ich konverzii v Calibre fo LRF mi to neukazuje spravne (samozrejme po flashi som ich zmazal z sdcarty a znovu nahral)

    Teraz neviem, v com je vlastne chyba.. ked si RTF otvorim vo Worde, ukazuje znaky spravne. Napada mi, ci netreba pri konverzii v Calibre niekde nastavit nejake kodovanie.. uz som skusil dat v Calibre do menu „Input charakter encoding“ hodnotu „UNICODE“ ale nepomohlo. Nevies mi prosim poradit? Kedze tu Tvoju skusobnu knihu mi to cita spravne, myslim, ze flashovanie prebehlo spravne.
    Dakujem Ti vopred za radu.
    Maros

  8. avatar pepak napsal:

    PRS Customizer podporuje firmware pouze do verze 1.2 (a taky to výslovně píše v dokumentaci i na hlavní obrazovce). Proto je potřeba firmware napřed downgradovat (nejlépe na verzi 1.1) a teprve poté provést aktualizaci. Ty navíc budeš potřebovat rozchodit zakousnutou čtečku – to se shodou okolností dělá také aktualizací firmware. Popis zde.

  9. avatar Honza napsal:

    zkousel jsem instalovat cestinu pomoci customizeru, ale mam firmware 1.4 (bez zalohy) pristroj prestal nabihat. Poradte, diky

Leave a Reply

Themocracy iconWordPress Themes

css.php