Metafont

METAFONT

Informasjon
Utviklet av Donald Knuth
Siste versjon 2.7182818 (Januar 2014)
Miljø Kryssplattform
Type Programmeringsspråk
Deklarativt programmeringsspråk ( d )
Fontfilformat ( d )
Tillatelse Tillatelsesfri lisens
Nettsted www.CTAN.org

Metafont er et språk som brukes til å komponere skalerbare skrifttyper . Den ble designet av Donald Knuth og er en del av det populære TeX- oppringingssystemet .

Historisk

Donald Knuth begynte å jobbe med fontopprettingsprogramvare i 1977 og produserte den første versjonen av Metafont i 1979. Han utviklet en helt annen versjon av Metafont-systemet i 1984, på grunn av begrensninger i hovedspråket. Det er revisjonen av dette systemet som fortsatt brukes i dag. Metafonts versjonssystem ligner på TeX, med et versjonsnummer som asymptotisk nærmer seg Neper-konstanten e ved hver revisjon.

Kjennetegn

Dette språket inkluderer grafiske instruksjoner, og den grunnleggende syntaksen ligner språket i Algol- familien . En funksjon av Metafont er å gi muligheten til å definere tegnriss med kraftige geometriske forhold; for eksempel kan et punkt defineres som skjæringspunktet mellom et linjesegment og en Bézier-kurve . Instruksjoner gjør det mulig å utføre homothety, rotasjoner, symmetrier, oversettelser etc. Metafont tolker disse instruksjonene plassert i en kildefil med filtypen .mf og genererer en bildefil med filtypen .gf (generisk font) som inneholder fonten, som kan komprimeres til en fil med filtypen .pk (pakket) ved hjelp av GFtoPK program. Metafont kan også produsere en metrisk informasjonsfil av en skrift i TeX Font Metric- format , med filtypen .tfm.

Metafont blir ofte ringt uten direkte brukerforespørsel. Filer i DVI- format inneholder bare referanser til skrifter, snarere enn referanser til settet med prikker eller vektorer som utgjør et tegn, dvs. dets øye . Andre formater, for eksempel PostScript, er ikke begrenset til slike referanser. Følgelig bør øynene konsulteres når det blir bedt om å se, skrive ut eller konvertere en DVI-fil. De fleste TeX-distribusjoner er konfigurert slik at eventuelle utilgjengelige skrifttyper i oppløsningen som kreves under behandlingen, produseres av samtaler til Metafont. Øynene lagres deretter i filer for senere gjenbruk.

På den annen side kan Metafont brukes til å produsere alle typer grafikk og ikke bare tegn. Imidlertid er MetaPost foretrukket for å lage avanserte illustrasjoner, fordi den har muligheten til å sende PostScript.

Beskrivelse språk

Her er et lite eksempel på Metafont-Logofont:

1: beginlogochar("F",14); 2: x1=x2=x3=leftstemloc; 3: x4=w-x1+ho; x5=x4-xgap; 4: y2=y5; y3=y4; bot y1=-o; 5: top y3=h; y2=barheight; 6: draw z1—z3--z4; draw z2—z5; 7: labels(1,2,3,4,5); endchar;

Først og fremst beregnes koordinatene til punktene som definerer F.
Linje 1 definerer et nytt symbol med navnet F og kode 14.
Abscissas av punkt 1, 2 og 3 blir initialisert til venstrestemloc , en verdi som indikerer posisjonen til venstre linje.
Linje 3 definerer x 4 slik at punkt 4 er i samme avstand fra høyre kant som punkt 1 fra venstre kant.
I rad 6 er punkt 1, 3 og 4 forbundet med rette segmenter (venstre vertikale segment og øvre horisontale segment av F). Deretter blir punkt 2 og 5 sammenføyd (liten vannrett linje midt på F).

Merknader og referanser

  1. (in) "  Knuth: Computers and Typesetting - Errata  "cs.faculty.stanford.edu

Bibliografi