[cstex] ConTeXt, čeština a kerningové páry

Martin Rehula maaca325 at amorpha.cz
Thu Dec 12 12:25:39 CET 2013


Dobrý den,

děkuji za vyčerpávající analýzu. Zkusím zareportovat vývojářům LuaTeXu. Vzhledem k tomu, že se problém týká v podstatě všech dokumentů překládaných LuaTeXem (i když u běžného textu není chyba tak vidět), mohlo by to vývojáře zajímat (rozhodně by mělo).

S pozdravem
Martin Řehula

12. pro (Čtvrtek) v 08:23:58 CET 2013, Petr Olsak <petr at olsak.net> napsal(a):
> 
> Dobrý den,
> 
> ukazuje se, že to je chyba LuaTeXu, respektive luakódu na OpenType fonty. 
> Minimální příklad, který nepoužívá obludku typu ConTeXt, ale přímo LuaTeX,
> může vypadat takto:
> 
> --------------------------------
> 
> \ifx\directlua\undefined \else \input luafonts \fi % otfload code 
> \font\f=[lmroman10-regular] \f
> 
> \hyphenation{vl-ta-va}
> 
> \setbox0=\hbox{VLTAVA}
> \message{:::::: \the\wd0}
> \tracingonline=1 \showboxbreadth=25 \nonstopmode \showbox0
> 
> A AVA VLTAVA.
> 
> \end
> 
> --------------------------------
> 
> Když to zpracujete pomocí ``luatex pokus'', projeví se chyba.
> Když to zpracujete pomocí ``xetex pokus'', vše je v pořádku.
> 
> Když zakonimentujete řádek \font\f..., použije se klasický 7bitový Knuthův 
> font a chyba se neprojeví. Navíc v té chvíli v logu a na terinálu vidíme, 
> jak to autoři LuaTeXu zamýšleli: v příslušných místech je
> ``\discretionary replacing kern'', tedy určitá další složitost navíc, na 
> kterou asi zapomněli navázat tvůrci OpenType loaderu. Když 
> zavedete OpenType font (jakýkoli), místo ``\discretionary replacing kern''
> tam zůstává jen ``\discretionary''.
> 
> Když zakonimentujete řádek \hyphenation a necháte proběhnout řádek \font, 
> zjistíte, že kerny i v OpenType fontu jsou, jen jsou při přítomnosti 
> \discretionary zničeny.
> 
> LuaTeX je v hluboké beta verzi, nelze se ničemu divit. Upozornil jsem 
> tvůrce luTeXu už na mnohé chyby, většina z nich přetrvává stále. Včetně 
> například úplného kolapsu luaTeXu na některých strojích s podivnými fonty, 
> které uživatel vůbec nechce použít. Nebo chyba, kdy po \halign nenastaví 
> \prevdepth, je reprtována už několik let a bez toho, aby ji někdo opravil.
> 
> Chete-li si zachovat duševní zdraví, používejte jen léty prověřený TeX, 
> tj. pdfTeX. Chcete-li se stát pokusným králíkem, zkuste luaTeX a 
> reportujte, reportujte atd.
> 
> Zdravím
> 
> Petr Olšák
> 
> 
> 
> On Wed, 11 Dec 2013, Martin Rehula wrote:
> 
> > Dobrý den,
> >
> > Používám ConTeXt (aktuální) a narazil jsem na zvláštní věc. Když například přeložím tohle:
> >
> > \enableregime[utf]
> > \mainlanguage[cz]
> > \starttext
> > AV ZASTAVÍ DOPRAVY % Správný kerning
> >
> > LAVABIT ZPRAVODAJSTVÍ  PŘEDSTAVOVAL NAVŠTÍVILI % tohle je špatně
> > \stoptext
> >
> > Na výstupu na prvním řádku bude vše jak má být. Na druhém řádku se ale neaplikují kerningové páry které jsou uložené ve fontu a mezi dvojicí písmen "A V" bude ošklivá mezera.
> >
> > Problém je se všemi možnými fonty, ale pouze v češtině. Řekl bych, že důvodem je v dělení slov - tohle jsem našel v logu: ... LA-VA-BIT ZPRA-VO-DAJ-STVÍ ... ZA-STAVÍ ...
> >
> > Mám něco blbě zkompilované, je to obecná chyba, nebo featura? Existuje na to nějaký workaround?
> >
> >
> > Děkuji předem za jakoukoliv radu
> > Martin Řehula
> >
> > _______________________________________________
> > csTeX mailing list
> > csTeX at cs.felk.cvut.cz
> > https://lists.felk.cvut.cz/mailman/listinfo/cstex
> >

> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex




More information about the csTeX mailing list