[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