No vida. Neuplynul ani měsíc od doby, kdy jsem tu psal návod na zprovoznění českých znaků ve čtečce Sony PRS-T1 pomocí úpravy jednotlivých knih, a už tu máme postup, jak dostat češtinu do všech knih najednou, aniž by se musely potupně upravovat. Příslušný hack vytvořil uživatel Morkl z diskusního fóra MobileRead (příslušné vlákno).
(Celý příspěvek…)
U příležitosti vánoc jsem pořídil novou dotykovou čtečku Sony PRS-T1, která je úplně jiná než ostatní modely, takže po delší době klidu mám důvod hledat řešení nejrůznějších problémů (u čteček předchozích jsem tu motivaci neměl, protože buď nebylo co řešit, nebo to řešení neexistovalo. U T1 se ale opět najde řada zajímavých problémků k vyřešení. První z nich je čeština.
(Celý příspěvek…)
Druhý z dlouho používaných ale nedokončených nástrojů se zabývá uvozovkami. Problematice uvozovek v HTML knihách už jsem se kdysi zabýval, ovšem musel jsem se spokojit se závěrem, že ideální řešení neexistuje. Prográmek Quotes je mým pokusem o to, jak nejlepší dostupné řešení aspoň trochu dostat do použitelného stavu.
(Celý příspěvek…)
Už dost dlouho jsem tu nepsal nic o elektronických knihách. Důvod je prozaický: Postupně se mi podařilo dosáhnout stavu, kdy jsou všechny problémy vyřešeny nebo jsem aspoň dospěl k závěru, že vyřešit nejdou, a tudíž nemám důvod nic dalšího hledat. Nicméně: mám tu několik programů, které jsem kdysi dávno napsal s myšlenkou, že je vyzkouším v praxi, opravím všechny významné chyby a pak je pustím ven. Od té doby uplynuly skoro dva roky a já ty prográmky skoro každý den spokojeně používám, aniž bych na jejich kód sáhl. První z nich, který už jsem kdysi „bokem“ uvedl v jednom článku, ale dosud neměl samostatnou stránku, je Tags.
(Celý příspěvek…)
Prvních pět dílů seriálu o regulárních výrazech se zabývalo tím, jak tyto výrazy zformulovat – jejich stavebními bloky a tím, jak je skládat dohromady. Neřešili jsme ale otázku, co s regulárním výrazem, když už je napsaný. Na to odpoví až dnešní díl, ve kterém si povíme něco o vyhledávání, nahrazování a dalších operacích s regulárními výrazy, včetně několika nových zápisů, které se pro tyto účely dají vhodně využít.
(Celý příspěvek…)
V pátém dílu seriálu o regulárních výrazech se podíváme na možnosti práce s kódováním Unicode, které se velmi hodí uživatelům exotických abeced (například české). Za běžných okolností je totiž knihovna PCRE nastavena pro práci s běžným osmibitovým kódováním znaků (co znak, to bajt), a ještě speciálně pro práci s anglickou abecedou. Abecedy ostatní standardním PCRE podporovány nejsou a buď nejsou použitelné vůbec (japonština a další abecedy, které potřebují více než jeden bajt na reprezentaci jednoho znaku) nebo jen s omezeními (např. čeština – v zásadě funguje, ale neexistuje žádná podpora pro skutečnost, že „č“ je „písmeno“ a ne „speciální symbol“). S podporou Unicode lze ale docela dobře pracovat i s neanglickými abecedami.
(Celý příspěvek…)
Zatímco předchozí díly seriálu se zabývaly něcím, co bych označil za základní syntaxi regulárních výrazů, víceméně stejnou ve všech implementacích, ve čtvrtém díle se podíváme na konstrukce, které jsou specifické pro PCRE a nedají se použít skoro nikde jinde. To je sice jejich velká nevýhoda, na druhou stranu jde o konstrukce natolik užitečné, že stojí za to je znát. Konečně totiž dojde i na častou otázku, „jak vyhledat řetězec, který neobsahuje zadaný podřetězec?“
(Celý příspěvek…)
Třetí díl seriálu o regulárních výrazech bude věnován obyčejným kulatým závorkám ( a ). Ony vlastně ani nejsou zvlášť složité, celá jejich funkce by se snadno dala shrnout do tvou slov „vymezení skupin“ – jenže jde o to, že tímhle jedním mechanismem jde provádět celou řadu zajímavých operací, drtivé většině uživatelů neznámých. Na ty ale dojde až v příštím pokračování, dnes se seznámíme jen se základním použitím závorek, na které v dalším díle navážeme (a konečně v něm dojde na slibovanou často žádanou funkčnost „jak napsat výraz, který nenajde zadané slovo“).
(Celý příspěvek…)
V prvním díle série o regulárních výrazech jsem lehce naťukl, co to vlastně ty regulární výrazy jsou a na jaké problémy se musíte připravit, pokud chcete regulární výrazy používat. Také jsem ale říkal, že přes to všechno jsou regexpy nesmírně užitečným nástrojem, který stojí za to umět používat. V dnešním díle už dojde na lámání chleba: pustíme se do základních regulárních výrazů.
(Celý příspěvek…)
Pokud trochu sledujete zdrojové kódy mých programů, jistě jste už zjistili, že v nich se železnou pravidelností používám regulární výrazy (regexpy – z „regular expression“). Proč to dělám? Protože regulární výrazy jsou nesmírně užitečným nástrojem pro zpracování textu, který se navíc dá v takřka stejné podobě použít všude možně – nemusíte být zrovna programátor, abyste ocenili sílu regexpů, protože je můžete i bez znalosti programování použít třeba v mnoha textových editorech. A protože mě známé české popisy podle mě vykazují řadu nedostatků, rozhodl jsem se napsat sérii článků uvádějících do úžasného, i když trochu mystického, světa regulárních výrazů. Ke čtení bych je doporučil zejména těm, kdo a) chtějí upravovat moje programy, nebo b) chtějí vytvářet e-booky podle mých návodů.
(Celý příspěvek…)