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

Petr Olsak petr at olsak.net
Mon Oct 8 10:47:28 CEST 2012


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.

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.

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ý.

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
>


More information about the csTeX mailing list