VF

Zdenek Wagner wagner at cesnet.cz
Thu Oct 30 11:53:16 CET 2003


Vazeni kolegove,
nenasel jsem tady odpoved na to, jak se dela CHECKSUM virtualniho fontu.
Protoze jsem nevedel vse z hlavy, nereagoval jsem. Mezitim jsem se podival
do standardu, proto se pokusim odpovedet komplexne.

METAFONT vypocte pri tvorbe fontu kontrolni soucet tak, aby zavisel na
obsahu fontu, ale ne na konkretni velikosti a rozliseni. Stejnou hodnotu
zapise do TFM i GF, program gftopk ji pak prenese do PK. DVI ovladac pak
pri tisku zkontroluje, zda TFM i PK maji stejnou hodnotu. V opacnem
pripade to znamena, ze TFM patri k jinemu fontu, ktery ma z nejakeho
duvodu stejne jmeno. TeX pri sazbe potrebuje pouze metriku, tj. cte TFM.
Do DVI souboru zapise odkaz na font a take tam vlozi CHECKSUM, ktery z
fontu vycetl. DVI ovladac se pak podiva na hodnotu ulozenou v DVI a
hodnotu v TFM. Pokud hodnoty nesouhlasi, znamena to, ze TeX pouzil jinou
verzi TFM, nez kterou nasel DVI ovladac. Jde tedy jen o to, aby se hodnoty
shodovaly, DVI ovladac zadnou jinou kontrolu nedela.

Virtualni font ma jednak VF, kde jsou informace pro DVI ovladac, jak se
dane znaky skladaji, a TFM s metrickymi udaji pro TeX. Z toho TFM vezme
TeX kontrolni soucet a vlozi do DVI. Hodnota tohoto kontrolniho souctu
muze byt zcela libovolna. Pokud je virtualni font slozen ze znaku, ktere
pochazeji z dalsich fontu, pak prislusne mapovaci prikazy musi obsahovat
spravne kontrolni soucty pouzitych fontu -- jinak se bude DVI ovladac
zlobit. Pokud je virtualni font tvoren rucne, pak predpokladam, ze pisete
VPL a ten konvertujete programem vptovf. Tento program se postara o
vygenerovani kontrolniho souctu a vlozeni do VF i TFM. Predpokladam, ze
nikdo netvori rucne primo binarni VF.

Mimochodem, virtualni fonty se daji pohodlne tvorit i programem qdTeXvpl
od E. Mattese. Program spociva v tom, ze si do specialnich maker vlozite
TeXovske prikazy, kterymi se maji vysazet prislusne znaky. Program se pak
prozene plainem a DVI se pusti do programu, ktery vytvori VPL. Ten se
prekonvertuje programem vptovf.

Zdenek Wagner
e-mail: wagner at cesnet.cz

see also http://hroch486.icpf.cas.cz/wagner/
         http://icebearsoft.euweb.cz




More information about the csTeX mailing list