moznost prechodu na LM v CSTeXu

Zdenek Wagner wagner at cesnet.cz
Mon Sep 19 12:16:10 CEST 2005


On Mon, 19 Sep 2005, Petr Olsak wrote:

>
> ja jsem experimenty sice nedelal, ale domnivam se, ze k rozsypani sazby
> muze dojit. Dvips sice cte tfm, ale generuje PSovy kod, ve kterem se
> typicky objevuje neco jako (slovo) show. Tento prikaz zpusobi, ze se
> aktualni bod sazby PSoveho RIPu posune z puvodniho mista na nove, ktere je
> od puvodniho vodorovne vzdaleno o soucet sirek znaku s, l, o, v, o,
> pricemz tyto sirky si PSovy RIP precte z Type1 formatu (*.pfb nebo *.pfa).
> Program dvips se muze v tu chvili jit se svymi znalostmi o originalnich
> metrikach klouzat, protoze nyni ma hlavni slovo PSovy RIP, a toho jakekoli
> metriky (jine nez zabudovane v pfb ci pfa) nezajimaji. Ledaze by dvips v
> dobe generovani PSoveho kodu neustale kontroloval metriky z pfb s
> metrikami v tfm a v prihodnych mistech vkladal do sazby odpovidajici
> korekce typu cosi 0 rmoveto. Ovsem co jsou ta prihodna mista? Za kazdym
> znakem, ktery ma nestejnou sirku v tfm a pfb? Nebo souhrnne za kazdym
> slovem? Nebo za kazdym usekem slova oddeleneho od dalsiho useku vynucenym
> kerningem? I v takovem pripade bych to chapal jako zborcenou sazbu.
>
Dvips se nespoleha na implmentaci floating point aritmetiky v RIPu,
protoze nektere RIPy tam maji chyby (napr. HP LaserJet). Proto posuny
podle daneho rozliseni prepocitava a zaokrouhluje na cela cisla. Tyka se
to kerningu. Odchylka se pak kompenzuje v mezislovnich mezerach. Pokud si
tedy vysadite neco v CS fontech (Type 1) v hodne malem rozliseni, dopadne
to dost otresne. Vim, ze se dvips zlobi, kdyz nenajde tfm, ale neni mi
uplne jasne, na co je pouziva, leda ze by si overoval, co je kerning a co
je mezislovni mezera. V pripade virtualnich fontu je to jinak, protoze
rozmery znaku ve virtualnim fontu mohou byt jine nez rozmery puvodniho
znaku. Pak musi dvips vlozit kompenzujici posun. Pokud se ale podivate na
PS soubor z dvips, pak je jasne, ze se mlcky predpoklada, ze metrika,
kterou vidi TeX, se shoduje s rozmery v pfb resp. s fontem zabudovanym v
RIPu, takze, pokud si odmyslime kerningy, muzeme do PS souboru vlozit kod
(slovo) show. Pokud si expandujete prislusna makra z tex.pro, zjistite, ze
to dvips tak skutecne dela. Pokud bychom tedy LM fontum chteli vnutit
metriku CS fontu, slo by to pouze pres virtualni font, ale vysledek by
mohl vypadat nehezky.

> Ano, pocitam s variantou, ze CS fonty nepustime. Pak ale je treba
> nashromazdit co nejvice technickych argumentu, proc to nejde. Myslim, ze
> jeden z nich: existuje ctyri a pul tisice rozdilu v sirkach znaku, nektere
> jsou vyznamne (jako Oslash) a neda se predpokladat, ze na zmene tech sirek
> se z autory LM fontu dohodneme.
>
Ono jde vlastne jen o vyreseni chyby/feature v Acrobatu 5 a o podporu v
ConTeXtu.

> Predpokladal jsem, ze nahrada CS za LM by se dela na urovni Type1 formatu,
> nikoli na urovni Metafontovych zdroju. Extrapolovane metriky navazuji na
> pouziti specialnich MFovych kodu pro extrapolaci parametru fontu a to neni
> dostupne ani nyni v Type1 CSfontech, protoze to v principu nejde. Pritom
> od MFovych zdroju se stale vice ustupuje, tj. uzivatele si asi budou muset
> bohuzel zvyknout, ze pouziti extrapolovane metriky prinasi mimo MFove
> fonty problemy.
>
Mozna by to slo resit pomoci OpenType, ale tomuto formatu zatim vubec
nerozumim.


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