[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