[cstex] XeTeX a utf-8 (bylo: vstupni kodovani csplainu, prosim o nazor)

Zdenek Wagner zdenek.wagner at gmail.com
Mon Oct 8 11:05:24 CEST 2012


Dne 8. října 2012 10:47 Petr Olsak <petr at olsak.net> napsal(a):
>
> Vážení kolegové,
>
> když už se diskuse z mé původní otázky stočila někam jinam (na
> výhody/nevýhody utf-8 a XeTeXu), dovolím si tuto úvahu také rozvést.
> Před tím ovšem oznamuji, že ještě čekám cca týden na podněty k mé původní
> otázce o csplainu a pak z toho vyvodím nějaký závěr.
>
A také cslatex, v něm bude stejný problém ve Windows.

> Tak tedy k utf-8 a XeTeXu. Domnívám se, že na rozdíl od ASCII+TeXsekvencí je
> utf-8 kódování podstatně méně robustní, což bychom neměli ztrácet ze
> zřetele. Člověku se v editoru, který používá utf-8, nabízí možnost použití
> nepřeberného množství znaků. Tato sada bohužel není nijak unifikována, ale
> závisí na tom, jaký font je při práci s editorem použit. Těžko lze
> předpokládat, že ten font bude obsahovat kresby všech znaků definovaných v
> unicode. Je to vždy jen nějaká náhodná podmnožina, podle použitého fontu.
> Nyní uživatel příjde na to, že by chtěl po TeXu, aby všechny znaky, co vidí
> v editoru, viděl i na výstupu po zpracování TeXem. To ovšem znamená, že TeX
> musí pracovat s unicodovým fontem, který obsahuje nadmožinu znaků z fontu,
> který byl použit v textovém editoru. To nemusí být vždy pravda a není to
> zaručeno. Ta záruka nebude nikdy, pokud se nepodaří unifikovat nějakou
> základní množinu znaků, kterou by měl být schopen TeX vždy zvládnout. To
> nepředpokládám, neboť by to bylo značné omezení v unicodovém rozletu. Takže
> stručně a závěrem: právě kvůli tomu, že je unicode tak všeobjímající, je v
> něm zádrhel ve formě nižší spolehlivosti, že vše bude správně zpracováno.
>
XeTeX zvládne kompletní Unicode, luatex nikoliv. Problém není v
XeTeXu, ale ve fontu, a to hodně záludný. Knihovny, které posílají
glyf na obrazovku, totiž oplývají inteligencí, která se dokáže
vymstít. Textovému editoru i kancelářským balíkům na typografické
kvalitě nijak nezáleží, takže ošklivě vypadající text už vnímám jako
normální. Napíšu si do zdrojáku nějaký unicodový znak. Knihovna
zjistí, že ve fontu nic takového není, ale najde podobně vypadající
font, kde příslušný znak je. Znak se mi tedy v editoru zobrazí. Když
to pak proženu XeTeXem s použitím stejného fontu, který mám v textovém
editoru, vidím místo některých znaků přeškrtnuté čtverečky nebo jiné
potvory.

Mimochodem, setkal jsem se s tím už dříve při používání HTML + CSS.
Našel jsem si ve svém počítači hezký font a nadefinoval jsem v CSS, že
se má použít. Samozřejmě jsem počítal s tím, že jej uživatel jiného
systému nemusí mít, takže jsem přidal další varianty a skončil jsem
defaultním fontem serif. Jenže ve Windows font toho jména byl, ale
neměl česká písmena. A totéž se může stát i v XeTeXu. Např. jedna
verze fontů DejaVu nemá ligatury fi a fl.

> Když bych uznal utf-8 pro csplain jako implicitní, pak by to jednoznačně
> znamenalo vymezit sadu znaků, které budou zaručeně správně cslainem
> zpracovány. A taková sada je v csplainu už dávno vymezena: ASCII + znaky
> české a slovenské abecedy. Nic více. Když by někdo chtěl české uvozovky,
> pomlčky různých délek, paragraf, přehlasované a přeškrtnuté hlásky, nechť si
> k tomu doplní v csplainu vlastní \mubyte...\endmubyte deklarace. V uvedených
> případech to bude mít ještě přímočaré, protože csfonty tyto znaky na jistých
> pozicích obsahují. Ale csplainový zdroják už přestane být konvertovatelný do
> 8bitového csplainu. Když si později vzpomene, že chce mít řecká písmena,
> euro, jen, nezlomitelnou mezeru, další abecedy, může to navázat na použitý
> jiný font, může pro to dělat makra, ale
> utopí se v bezedném moři unicode, jak jsem psal v předchozím odstavci.
> Tím netvrdím, že to uživatel dělat nesmí. Jen by to měl dělat s vědomím, že
> jeho zdroják začíná být nepřenositelný.
>
Přesně tak, když člověk ví, co dělá, může si to dovolit.

> Zdravím
>
> Petr Olšák
>
>
>
>
> On Mon, 8 Oct 2012, Luboš Kloc wrote:
>
>> Dne 7.10.2012 03:12, Jiří Rybička napsal(a):
>>>
>>>  Dobrý den,
>>>  to máte určitě pravdu, ale měl jsem tady na mysli něco jiného: když
>>>  zvolíte
>>>  pomocí \fontspec nějaký jiný font než Latin Modern a v textu pak
>>> použijete
>>>  příkaz například pro paragraf \S, vysází se znak, který do toho fontu
>>>  nepatří.
>>>  Přirozenější je použít přímo znak pro paragraf, který jak ve zdrojovém
>>>  textu, tak i ve vysázené podobě vypadá stejně -- tj. podle použitého
>>>  fontu.
>>>
>>>  Předávání dokumentů v podobě zdrojového textu je samozřejmě široký
>>>  problém,
>>>  v němž kódování hraje důležitou roli. Ale jak už tu někdo poznamenal,
>>>  UTF-8
>>>  je pravděpodobně jedinou cestou, jak se postupně zbavit nejrůznějších
>>>  zmatků
>>>  s kódováním, a věřím, že tato cesta je reálná.
>>>
>>>  JR.
>>
>>
>> Dobrý den,
>>
>> myslím, že nejsme ve sporu, chtěl jsem zdůraznit výhodu TeX sekvencí v
>> situaci, kdy (zatím) panuje značná nejednotnost v kódování. Ostatně jsem to
>> byl já, kdo zde v diskusi propagoval utf-8 všude, kde to je jen trochu
>> možné. Nicméně dávám přednost tomu, aby byl v místě kde chci mít paragraf
>> vysázen paragraf (byť třeba v nepatřičném fontu), než aby tam byl úplně jiný
>> znak ve správném fontu.
>>
>> Abych odpověděl i panu Wagnerovi: představme si celkem běžnou situaci, kdy
>> napíšu článek, pošlu ho spoluautorovi v Japonsku ke kontrole či doplnění a
>> on ho pak pošle vydavateli, což je americká firma sídlící v Indii. Konečným
>> příjemcem, u něhož potřebuji aby plně rozumněl co jsem chtěl napsat, je
>> člověk který ve vydavatelství zpracovává konečnou sazbu časopisu či
>> sborníku. Můj zdrojový soubor předtím projde řadou počítačů nejen u
>> spoluautora, ale i v redakci. Zatím jedinou možností, jak dosáhnout
>> "přežití" zdrojového textu bez nějakých překódování je držet se striktně v
>> mezích základního 7-bit ASCII. No a TeX sekvence mně umožňují v tomto
>> "odolném" kódu napsat i české znaky, přičemž člověk zpracovávající konečnou
>> sazbu ví co jsem chtěl napsat a taky si ví rady, jak příslušný znak vysázet
>> v tom správném (a mně dopředu neznámém) fontu.
>>
>> Až si budu moci být jist, že můj zdrojový soubor v utf-8 dorazí na místo v
>> utf-8, budu samozřejmě i v těchto případech používat s radostí utf-8. Jenže
>> dosavadní zkušenost je jiná. Když v analogickém případě vydavatel vyžaduje
>> pouze zdroj ve Wordu, pak místo českých znaků bude v sazbě s
>> pravděpodobností hraničící s jistotou něco úplně jiného. A to prý Word
>> používá Unicode (utf-16?)!
>>
>> S pozdravem,
>>
>> Luboš Kloc
>>
>>
>> _______________________________________________
>> csTeX mailing list
>> csTeX at cs.felk.cvut.cz
>> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>



-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list