       ****************************************************************
       *                        Program a2ac                          *
       ****************************************************************
       verze 1, erven 95                                    Petr Olk

Program a2ac (Afm To Afm add Composites) konvertuje afm soubory (Adobe
Font Metrics) na nov soubory rovn ve formtu afm. Program pitom nat
tzv. definin soubor, v nm je stanoveno, jak zmny se maj v afm
formtu provst. Program pedevm pidv nov kompozitn znaky a
roziuje tabulku kern o nov kerningov daje podle jistch masek.

Program se vol se temi parametry:

   a2ac input.afm corr.tab output.afm

Prvn parametr je nzev vstupnho (afm) souboru, druh parametr oznauje
definin soubor obsahujc definice zmn, kter se maj provst. Tet
parametr je nzev vstupnho souboru. Ppony soubor (.afm, .tab) je
nutno uvst, program si je nedomysl.

Pokud chceme vytvoit log a nechceme zaplnit terminl mnostvm informac,
meme napsat:

   a2ac input.afm corr.tab output.afm > logfile

Pkazov dek voln programu bv obvykle soust njakho scriptu nebo
dvkovho souboru (viz t soubor readme.txt v balku programu a2ac).

K balku programu je pidn soubor cscorr.tab, kter obsahuje definice
korekc, pomoc nich lze vytvoit esk a slovensk font (tj. font
obsahujc znaky esk a slovensk abecedy a vhodn kerning). Pi pouit
tohoto souboru se pouze vyaduje, aby vstupn afm soubor obsahoval vechny
akcenty pro esk/slovensk znaky. To spluj nap. vechny standardn
Adobe fonty. Vstupem je afm, obsahujc navc kompozitn znaky z cs
abecedy a rozen kerning. Takto upraven font se d pout napklad
v TeXu.

Pro zaazen novho fontu do TeXu je mono pout script "mkfnt".
Run se zaazen provede v nsledujcch krocch: (pro ilustraci
vchoz standarn PostScriptov font m metriku s nzvem font.afm).

1.  a2ac font.afm cscorr.tab cfont.afm
      ... vytvo se metrika cfont.afm se vemi akcentovanmi znaky.
2.  afm2tfm cfont.afm -t xil2.enc -v cfont rfont
      ... vytvo se metrika rfont.tfm (potebn pro dal manipulace
          s programem dvips) a virtuln popis cfont.vpl kdovan podle
          souboru xil2.enc.
3.  vptovf cfont.vpl cfont.vf cfont.tfm
      ... vytvo se metrika vhodn pro TeX (cfont.tfm) a virtuln popis
          cfont.vf pro ovlada dvips.
4.  Ob tfm metriky (cfont, rfont) ulome do adrese s metrikami a
    soubor cfont.vf ulome do adrese, kde jej te dvips.
    V konfiguranm souboru pro dvips s nzvem psfonts.map pidme dek:
       rfont Uplny-Nazev-PostScriptoveho-Fontu
    Pokud font nen rezidentn v tiskrn a mme tedy od nj soubor typu
    pfb, pak nov dek v psfonts.map bude mt tvar:
       rfont Uplny-Nazev-PostScriptoveho-Fontu </cesta/k/souboru.pfb
    nebo v DOSu:
       rfont Uplny-Nazev-PostScriptoveho-Fontu <disk:\cesta\k\souboru.pfb
5.  V souboru *.tex zavedeme font bnm zpsobem:
       \font\muj=cfont    {\muj tady je text v novm fontu}
    Po zpracovn TeXem a ovladaem dvips mme text vyszen pslunm fontem.

Poznmka 1: V nkterch instalacch DOSu je poteba ped provedenm tetho
kroku soubor *.vpl nast do editoru a uloit, m se uprav sprvn konce
dk (provede se transformace unix2dos).

Poznmka 2: Program afm2tfm dodvan v balku CSTeX94 (19.disketa) je
nepouiteln, protoe se jedn o starou verzi navc pravdpodobn vbec
nechodivou. Je poteba pout afm2tfm z novho balku programu dvips.

Poznmka 3: Pro prohle a tiskrny nevybaven PostScriptem je
vtinou poteba provst njak opaten. Nabz se tyto ti
nejbnj monosti:

1. Pout Ghostscript pro konverzi z PostScriptu do jazyka tiskrny.
2. Pout ps2pk pro konverzi PostScriptovho fontu do formtu pk
3. Pout nhradn font.

Prvn dv monosti se mohou pout v ppad, e font je v potai
instalovn (ve formtu pfb nebo pfa). Tet monost je jen nhradnm
eenm pro ely koreturnch tisk, nikoli pro finln tisk. Na druh
stran nelze tet monost pehlet, protoe se asto stv, e font
je instalovn jen v RIPu finlnho zazen a odtud jej nelze "vydolovat".
Uvedeme proto postup, jak v ppad 3 postupovat.  Pklad je pro
nahrazen fontu cptmr fontem csr10:

- tftopl csr10.tfm csr10.pl  ... konverze metriky do .pl formtu,

- editace csr10.pl           ... doplnn pkazu MAPFONT a VTITLE (viz [1])
                                 Na zatek souboru pidme tyto dky:
   (VTITLE Substitute font cfont -> csr10)
   (MAPFONT D 0
     (FONTNAME csr10)
     (FONTCHECKSUM D 0)
     (FONTAT R 1.0)
     )

- mv csr10.pl cptrm.vpl       ... pejmenuj csr10.pl na cptrm.vpl (v DOSu: ren)

- vptovf cptmr.vpl cptmr.vf cptmr.tfm  ... soubor tfm zahodme a soubor vf
                                 pedlome ovladai, kter m pout nhradn
                                 font. Pozor! Nikoli pro ovlada dvips.

Kutn do hloubky
=================

Z pedchozho odstavce je patrn, e byly pouity dva soubory, jejich
zmnou meme vc vce pizsobit obrazu svmu. Za prv se jedn o soubor
cscorr.tab a za druh jde o soubor xil2.enc. O jejich vznamu bude e
v nsledujcm textu.

AFM metrika obsahuje informace o symbolickch nzvech znak (nap. Scaron
znamen , Uring je  a eacute je ). Kad pouit nzev me bt
podchycen v metrice dvma zpsoby. Bu je vzn na konkrtn pozici ve
fontu (kd), nebo m kd oznaen hodnotou -1 a je popsn v metrice jako
sloenina jinch znak. Popis sloench (kompozitnch) znak se pitom
opr o symbolick nzvy, take nen zvisl na kdovn fontu.

Zkladn mylenka programu a2ac je zaloena na tom, e v defininm souboru
(napklad cscorr.tab) popeme vechny potebn sloeniny pomoc
symbolickch znak a program a2ac je do metriky dopln. Vstupn afm soubor
programu a2ac tedy vtinou obsahuje vt mnostv kompozitnch znak a
navc v nm mohou bt doplnny kerningov vztahy s tmito novmi znaky.

Protoe program pracuje na rovni symbolickch nzv znak, jeho innost je
naprosto nezvisl na kdovn jak PostScriptovho fontu, tak vnitnho
kdovn szecho systmu, pro kter se font pipravuje.

Program a2ac je pi ten defininho souboru vybaven nenulovou
inteligenc. Umouje deklarovat a pouvat promnn, pst metrick a
kompozitn informace pomoc jednoduchch vraz a pomoc masky kern
doplovat rozshl mnostv novch kerningovch informac pro nov znaky.

Po transformaci afm metriky programem a2ac se pro TeX me pout program
afm2tfm, kter te upraven soubor afm a dle soubor *.enc, podle nho
provd pekdovn fontu do kdovn pouitm v TeXu. Vsledkem je
virtuln font, kter obsahuje nejen pekdovn fontu podle souboru *.enc,
ale obsahuje t mechanismy na sestaven vech kompozitnch znak. Tyto
mechanismy byly pitom szecmu systmu vnuceny pomoc popisu kompozitnch
znak v souboru afm. O to se postaral program a2ac prostednictvm souboru
typu cscorr.tab.


Popis chovn programu
======================

Program pracuje ve tech krocch.
1. Nate vstupn soubor afm a informace ulo do pamti.
2. Provede v pamti zmny podle defininho souboru.
3. Ulo obsah pamti do vstupnho afm souboru.

V druhm kroku se provdj tyto operace:
a) Definuj se pracovn promnn a ukldaj se do nich hodnoty.
b) Sestavuj se nov kompozitn znaky.
c) Provd se korekce nkterch metrickch informac.
d) Provd se ppadn redukce mnostv kerningovch informac.
e) Definuj se kerny nov.

Operace se provdj v poad danm obsahem defininho souboru.
Pokyny pro proveden operac c) a e) jsou ignorovny, pokud m font
parametr IsFixedPitch roven hodnot "true", tj. jedn se o font s pevnou
kou psmen -- nap. font psacho stroje.

Formt defininho souboru
==========================

Doporuuje se pi vytven novch defininch soubor vyjt z dodvanho
souboru cscorr.tab. Jedn se o textov soubor. dky souboru se dl na
vkonn a komentov.

Vkonn dky jsou z kraje (bez mezer) uvedeny tzv. prefixem. Jedn se
zpravidla o dva a ti znaky na zatku dku, viz ne.
Komentov dky jsou vechny ostatn dky, kter nemaj dn z ne
stanovench prefix. Doporuuje se uvst kad komentov dek njakm
symbolem tak, aby nikdy nedolo ke kryt s prefixem. Sta mezera, ale
vhodnj asi je pout znak % nebo #. Komente se nesm vyskytovat uvnit
vkonnho dku.

Pehled prefix:
>>  .......... definice promnnch (viz a)
NC, RC, !C ... definice novho kompozitnho znaku (viz b)
RWX .......... korekce parametru WX (viz c)
ReduceKerns .. snen potu kerningovch informac (viz d)
NK, RK ....... vytven novch kerningovch informac (viz e).

Poad vkonnch dk nen pevn stanoveno. Podle tohoto poad se budou
jednotliv operace provdt. Operace, kter vychzej z existence
symbolickho jmna njakho znaku, musej bt uvedeny pozdji, ne je
symbolick jmno definovno. Napklad pomoc definice kompozitnho znaku
zavedeme jmno Rcaron a teprve pak meme vytvet nov kerningov pry se
znakem Rcaron. Nedodrme-li tento poadavek, dokme se chybovho hlen
"Undefined identifier".

a) Definice promnnch.
-----------------------
dek, kter definuje promnnou, m tento formt:

>> NazevPromenne = vraz

kde ">>" je prefix, "NazevPromenne" je identifiktor promnn a "vraz" je
ve srovnn s bnmi vrazy syntakticky omezen. Vraz je soutem
stanc, z nich kad stanec me bt tmto syntaktickm celkem:

- slo,
- dve definovan promnn,
- voln funkce b, w, h nebo W,
- souin sla a promnn,
- souin sla a funkce.

Hodnoty jednotlivch stanc jsou cel sla a st se na rovni celch
sel. Do promnnch je tedy mono uloit pouze cel slo.

Identifiktor me sestvat z alfanumerickch znak nebo znaku _. Prvn
znak mus bt psmeno. Dlka identifiktoru nen omezena. Velk a
mal psmena se vude rozliuj.

Desetinn slo je mon pout pouze jako konstantu a m smysl pouze
v ppad souinu sla s promnnou nebo funkc. Vsledek souinu se hned
konvertuje do celho sla, piem se provede zaokrouhlen. sla tedy
mohou obsahovat desetinnou teku. V zpisu souinu mezi slem a promnnou
nebo funkc se nesm pout mezi tmito objekty dn znak, tj. bn
nsobtko ve tvaru * nen povoleno. Zvorky (s vyjmkou pouit u funkc),
vnoen operac, nsoben dvou promnnch a dlen nen povoleno.

Funkce b, w, h, W nebo k mus mt hned za svm identifiktorem v kulatch
zvorkch napsan jeden parametr. V ppad funkce b nebo k se jedn o dva
parametry oddlen rkou. Parametrem je symbolick nzev znaku a u funkce
b jet nsleduje slo od 1 do 4. Funkce vracej do vrazu tyto hodnoty:

b(znak,i)    ... i t hodnota parametru BoudingBox pro znak. Pesnji:
   b(znak,1) ... lev prmt znaku (souadnice x),
   b(znak,2) ... doln prmt znaku (souadnice y),
   b(znak,3) ... prav prmt znaku (souadnice x),
   b(znak,4) ... horn prmt znaku (souadnice y).
w(znak)      ... ka znaku = b(znak,3) - b(znak,1).
h(znak)      ... celkov vka znaku = b(znak,4) - b(znak,2).
W(znak)      ... hodnota WX pro dan znak.
k(znak1,znak2) . hodnota kernu pro dvojici  znak1 znak2
                 (nula, pokud kern pro dvojici neexistuje).

Pklady vraz najdete v souboru cscorr.tab.

Pi zahjen zpracovn pole definic promnnch jsou znmy hodnoty tchto
promnnch: CapHeight, XHeight, Ascender, Descender
(pouze ovem za pedpokladu, e jsou o nich vyplnny daje ve
vstupn afm metrice).

V prbhu "vpotu" je mon mnit hodnotu stejn promnn tm, e se dek
deklarujc promnnou nape znova s jinm vrazem. V takovm ppad je
mon ve vrazu vyut starou hodnotu tto promnn. Napklad:

>> Acutetop = Acutetop + 7

!! Dleit poznmka: Mezery je mono vkldat do vrazu (kamkoli)
pouze v dcch definic pracovnch promnnch. Ve vech ostatnch vkonnch
dcch tento vraz NESM obsahovat jedinou mezeru! Mezera m v tchto
dcch vznam delimitan a ukonuje natn vrazu.

b) Definice novho kompozitnho znaku
-------------------------------------
dek definuje jeden kompozitn znak podobn jako ve formtu afm.
dek me bt uveden temi prefixy:

NC ... New Composite -- Sestaven novho kompozitnho znaku. Pokud ve
       vstupn metrice znak existuje (definovan jako kompozitn nebo
       fyzick), originln definice se nepepisuje.
RC ... Rewrite Composite -- Sestav nov znak. Pokud je znak v pvodn
       metrice definovn jako kompozitn, tato definice je pepsna.
!C ... Sestav nov znak jako kompozitn, a ppadn pepe pvodn
       definici znaku, tebae je pvodn znak fyzickm znakem fontu.

Nsleduje nzev znaku a poet st (dlk), ze kterch se kompozitn znak
skld (maximln 10). Pak je za stednkem premisa PCC nsledovan nzvem
prvnho dlku znaku se dvma parametry oddlenmi mezerami. Parametry udvaj
posun dlku vi potku v souadnici x a y. Pak za stednkem je tot pro
druh a dal dlek.

Vechny seln parametry (krom sla udvajcho poet dlk) mohou bt
vrazy (viz ve). Vrazy jsou oddleny od sebe mezerami.

Krom premisy PCC se mohou pout jet nsledujc premisy: PAC, PCT, PAT.
Premisy deklaruj interpretaci nslednch selnch parametr, kter pi
standardnm pouit (psmeno C) udvaj posun dlku vi potku.

Premisa s psmenem A (axis) v druh pozici k, e daj pro x-ovou
souadnici posunu dlku vyjaduje posun osy dlku vzhledem k ose zkladnho
(tj. prvnho) dlku v kompozitnm znaku. Napklad "PAC caron 0 cosi"
znamen, e osa znaku caron bude od osy zkladnho znaku kompozitu
vychlena o 0, tj. osy se budou krt. Kladn hodnota posunuje doprava,
zporn doleva. Abychom definovali pesn osu znaku, uvaujme
vodorovnou seku o dlce WX danho znaku. Prvn konec tto seky je
v potku a druh smuje doprava. Osa znaku prochz stedem tto seky a
svr s n hel 90+ItalicAngle stup.

Premisa s psmenem T (top) na tet pozici k, e y-ov souadnice posunu
dlku se pot z parametru, kter oznauje hodnotu hornho okraje dlku.
Napklad v souboru cscorr.tab je napotna hodnota Acutetop jako vka
velkho psmene s akcentem. Pak jsou vechny akcenty poveny na tuto vku
jednodue pomoc zpisu P?T cosi Acutetop. Tm je dosaeno toho, e vechny
akcenty maj stejnou vku, akoli velikosti psmen se nepatrn li (nap,
O kvli optickmu klamu pesahuje horn i doln okraj.

Je-li pouita jin premisa, ne PCC, program daje pepot a na vstupu
pouije pouze premisy PCC.

!! Dleit poznmka: Mezery jsou v celm dku vznamn, tj. teba mezery
ped a za stednkem tam nejsou jenom pro okrasu. dnou mezeru nelze
bezstarostn vynechat. Jedna mezera a vce mezer tot jsou, tj. me se
vkldnm vtho potu mezer doclit jist pehlednosti tm, e budou
vechny daje zarovnny pod sebou.

c) Korekce parametru WX
-----------------------
Szec systmy pouvaj pi sazb znak z fontu parametr posunu szecho
bodu kadho znaku, kter s BoudingBoxy nemus mt mnoho spolenho.
Posun szecho bodu ve smru osy x je dn parametrem WX pro kad znak.
(Pro evropsk jazyky je posun ve smru osy y nulov). Tento daj se nap. do
TeXu promtne jako ka boxu pro znak (vka a hloubka se pot
z BoudingBox).

Pi potn novch kompozitnch znak program napot pro kad znak nov
hodnoty BoudingBox a pro parametr WX pouije hodnotu WX z prvnho
(zkladnho) dlku kompozitu. To nemus bt vdy vyhovujc
(viz znaky , ).
Proto lze pout dky definujc novou hodnotu WX.
Kad dek m tvar:

RWX nazev vyraz

kde "RWX" je pevn premisa, "nazev" je nzem znaku, u kterho mnme
hodnotu WX a "vyraz" vrac novou hodnotu WX. "vyraz" mus splovat ve uveden
syntaktick omezen a nesm obsahovat mezeru. Hodnota vrazu se me oprat
o pvodn hodnotu WX znaku (pouitm funkce W).

d) Snen potu kerningovch informac
---------------------------------------
dek m tvar

ReduceKerns vyraz

a zpsob vymazn vech kerningovch informac, kter definuj kern
mezi dvma psmeny v absolutn hodnot men nebo roven hodnot "vyraz".
"vyraz" m ve uveden syntaktick omezen a pe se bez mezer.

Tento dek je uiten pro vymazn kern s nulovou nebo nepatrnou
velikost. Tyto kerny zbyten zabraj msto v metrice fontu szecho
systmu.

dek je uiten pout dvakrt. Nejprve na zatku defininho souboru
(zpsob vymazn zbytench kerningovch informac zskanch pmo ze
vstupnho souboru) a podruh na konci (vymae nov vznikl informace
s malou absolutn hodnotou kernu). Chceme-li bt istotn, je rozumn
pout aspo "ReduceKerns 0" na konci souboru.

e) Vytven novch kerningovch informac
------------------------------------------
dek definujc nov kerningov pry me mt jeden ze dvou prefix:

NK ... (New Kern), nov kern, pokud kern pro danou dvojici existuje,
       zstane zachovn.
RK ... (Rewrite Kern), nov kern, pokud kern pro danou dvojici existuje,
       bude pepsn.

Dal pokraovn dku me bt rzn, viz nsledujc body (i) a (v):

(i) Pevn definice kernu jedinho pru je ve tvaru:
---------------------------------------------------
prefix prvni druhy vyraz

kde "prefix" je NK nebo RK, "prvni" je nzev prvnho znaku, "druhy" je nzev
druhho znaku a "vyraz" (bez mezer) vrac hodnotu kernu.

(ii) Definice kernu jedinho pru podle hodnoty jinho pru
-----------------------------------------------------------
dek m tvar

prefix prvni druhy : treti ctvrty vyraz

kde dvojice znak se jmny "prvni" "druhy" dostane stejn kern, jako dvojice
"treti" "ctvrty" zvten o hodnotu "vyraz". Parametr "vyraz" (bez mezer) je
nepovinn a nen-li uveden, je potno, e m hodnotu 0.

Msto znaku "treti" anebo "ctvrty" me bt uveden symbol "*".
Vynechan znak "treti" se dopln znakem "prvni" a vynechan znak "ctvrty" se
dopln znakem "druhy". Napklad:

NK Anew B : A *

je tot jako

NK Anew B : A B

Chceme-li zvtit kern mezi A a B o hodnotu c, napeme:

RK A B : * * +c

(iii) Definice skupiny kern podle masky:
-----------------------------------------
dek m stejn tvar, jako v pedchozm ppad, ovem symbol "*"
je uveden nejen za dvojtekou ale i ped n. Tyto symboly se mus krt, tj.
pokud je znak "prvni" nahrazen, mus bt nahrazen t znak "tet".
Symboly nahrazen jsou dva -- teka nebo hvzdika -- a mus bt
v obou ppadech stejn. dek definuje kerny podle hodnot kern vech
dvojic, kter lze sestavit vpravo od dvojteky a jsou v pamti, doplnnm
postupn vech znak za vynechan znak. Je-li symbol nahrazen "*",
dopluj se vechny znaky, je-li pouita teka, dopluj se jen mal
psmena (nzvy znak, kter zanaj malmi psmeny). Ve osvtl pklad.

Nech mme v pamti kern hodnoty 1 pro A B, hodnoty 2 pro A C a hodnoty 3
pro A D. Nech jin kerny s psmenem A na zatku dvojice neexistuj. Pak
dek

NK Anew * : A *

definuje kern hodnoty 1 pro Anew B, dle kern hodnoty 2 pro Anew C a
konen kern hodnoty 3 pro Anew D. Definuj se tedy celkem ti kerny.

V levo od dvojteky je mono nahradit (hvzdikou nebo tekou) jen jedin
jmno z dvojice. Na druh stran vpravo od dvojteky je mon napsat
hvzdiku i na msto proti jmnu. Napklad:

RK Anew * : * * +c

je tot jako

RK Anew * : Anew * +c

tj. vechny kerny typu Anew * se zvt o c.

(iv) Jeden dek je zkratkou za dva:
------------------------------------
dek m tvar:

prefix prvni : druhy

a nahrazuje dva dky:

prefix prvni * : druhy *
prefix * prvni : * druhy

(v) Vty v dcch definujcch kerny:
---------------------------------------
Symbolick jmno je mon nahradit vtem symbolickch jmen
oddlench rkami. Vet je uzaven do zvorek a nesm obsahovat mezery a
dal vty. Jmno je mon nahradit vtem v ppadech, kter jsou
shrnuty v nsledujc tabulce. Slovo "vycet" znamen jedno jmno nebo
vet jmen, zatmco "single" je jedno jmno, kter nesm bt nahrazeno
vtem. Slovo "vyraz" je nepovinn vraz. Tabulka zrove shrnuje vechny
syntaktick monosti definovn novch kern.

(i)    prefix vycet vycet vyraz

(ii)   prefix vycet vycet : single single vyraz
       prefix vycet vycet : single * vyraz
       prefix vycet vycet : * single vyraz
       prefix vycet vycet : * * vyraz

(iii)  prefix vycet * : single * vyraz
       prefix vycet * : * * vyraz
       prefix * vycet : * single vyraz
       prefix * vycet : * * vyraz

(iv)   prefix vycet : single

Hvzdiky v tabulce (iii) lze nahradit tekami. Vidme, e nen dovoleno
zapsat vet za dvojteku. Vty se expanduj do vce dk s postupn
vemi jmny z vtu. To se dje ped sputnm algoritm podle (ii), (iii)
a (iv). Jsou-li v jednom dku dva vty, pak se pkaz rozvine kovm
zpsobem. Napklad:

NK (A,B,C) (x,y) : * one

se expanduje do esti dk:

NK A x : * one                                          NK A x : A one
NK A y : * one                                          NK A y : A one
NK B x : * one   co se interpretuje podle (ii) jako:   NK B x : B one
NK B y : * one                                          NK B y : B one
NK C x : * one                                          NK C x : C one
NK C y : * one                                          NK C y : C one


Ligatury
========

Informace o ligaturch bv uvedena na konci dk s prefixem C ve vstupnm
afm souboru. Napklad:

C 102 ; WX 333 ; N f ; B 20 0 383 683 ; L i fi ; L l fl ;

Tato informace se pepe do vstupnho afm souboru a pro vytvoen zznamu
v tabulce ligatur pro szec systmy je dostaujc. Skuten, nap.
program afm2tfm te tyto daje a vytv odpovdajc zznam v ligan
tabulce pro formt tfm. Navc se daj prostednictvm soubor typu *.enc
definovat nov, speciln TeXovsk, ligatury. Napklad dek v souboru
xl2.enc:

% LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;

definuje ligatury pro "--" a  "---".


Poznmka k souboru cscorr.tab
=============================

Pro znaky ,  by se sprvn mly pout symbolick nzvy dquoteright a
tquoteright. Msto nich byly ale pouity symbolick nzvy dcaron a tcaron.
Dvod je ten, e tyto znaky maj svj protjek v kapitlkch nazvan
sprvn Dcaron a Tcaron. Kdybychom nazvali psmeno  jako dquoteright, pak
by pouit parametru -V v programu afm2tfm pro vytvoen fontu "Capitals
and Small Capitals" nedalo sprvn vsledek. Abychom nezavdli nov
symbolick oznaen pro  a , zstali jsme i zde u nzvu Lcaron a lcaron.


Poznmka k souboru xil2.enc
===========================

Kdovac soubor definuje tzv. CSencoding vector, tj. kdovn CS-font.
Kdovn CS-font je patrn z tabulky na str. 3 po zpracovn souboru
ctimne.tex v CSTeXu. Pesnj tabulka je v dodatku F v [2].

Soubor xil2.enc je nvrhem na standard kdovn PostScriptovch font
v CSTeXu. Doln polovina tabulky se pesn kryje s CM kdovnm a horn
polovina tabulky odpovd norm ISO-8859 Latin2 kdovn a na dv vjimky
(umstn eskch uvozovek v poslednch dvou pozicch). Toto kdovn je
nadmnoinou kdovn CS-font. Znamen to, e pokud vchoz PostScriptov
font definuje vechny znaky, kter jsou pouity v CS-fontech, pak se
vechny znaky z CS-fontu budou krt se znaky v sestavenm PostScriptovm
virtulnm fontu. Navc jsou definovny pozice podle ISO-8859 pro dal
znaky, kter se mohou vyskytovat ve vchozm fontu ale nejsou v CS-fontech
(nap. pekrtnut l).

V CSencoding vektoru je jedna vjimka proti kdovn CS-font. V tabulkch
Adobe Encoding vektor neexistuje samostatn krttko pro
polsk l (CM: Cross for Polish l and L, kd 32), take zstalo
v CSencoding vektoru nedefinovno.

Podrobnji o problematice kdovn font -- viz [3].

Poznamenejme, e vtinou nejsou vchozm fontem pokryty prvn pozice CM
kdovn odpovdajc eckm znakm a trojnsobnm ligaturm.
Pro speciln aplikace -- pouit TeXovsk sazby matematiky
PostScriptovm fontem je tedy vhodn editovat soubor *.vpl tak, aby se
pokryly aspo eck znaky z fontu Symbol.


Historie
========
Verze 0 <Z 1994>
  - Vznik programu a esk dokumentace. Program byl vystaven na ftp pro
    esk a slovensk TeX-kouzelnky.
Verze 1 <erven 1995>
  - Nov formt defininch soubor umouje libovoln poad operac.
    Star definin soubor bude fungovat prv tehdy, kdy se pid
    ped kad dek, definujc promnnou, prefix ve tvaru ">>".
  - Jsou mon zkratky jednoho dku za dva (viz odst. e, (iv))
    a vty jmen, kter uspo jet vce dk (viz odst. e, (v)).
  - Zavedena nov funkce "k" vracejc hodnotu kerningovho pru.
  - Opraveny nkter chyby:
    . Opravena nestabilita UNIXovho a2ac na DOSosvkm formtu vstupnch
      soubor (neastn ^M na konci kadho dku).
    . Chyb-li pole "Composites" ve vstupn metrice, ve vstupn se u
      objev.
    . Vstupn soubor se nevytvo, pokud se naraz na chybu ve vstupu.
    . Opravena esk dokumentace a pidna (pseudo)anglick.
    . Peuspodn soubor cscorr.tab a pidny nkter chybjc daje.


Reference
=========
[1]  Donald Knuth: Virtual fonts, a more fun for grand wizards.
     TUGboat 11/89
[2]  Petr Olk: Typografick sytm TeX.  CSTUG 1995, 270 stran.
     ISBN 80-901950-0-8.
[3]  Petr Olk: vaha o fontech v CSTeXu, TeXbulletin 3/93 (121--131).






