Orð og tunga - 01.06.1988, Síða 204
192
Orð og tunga
Mynd 6: Nokkrar af breytistærðum „Computer Modern" letursins (sbr. Knuth 1986b:l).
Breiða lárétta línan er grunnlínan.
I forritinu notar Knuth sjö af þeim 62 færibreytum sem notaðar eru við að
skilgreina „Computer Modern“ letrið. Þær eru u#, x-height, slant, monospace,
vair, curve og vair-corr. Hlutverki þessara breyta er lýst á töflu 6.
Forritið hefst á skipuninni cmchar og strengnum "The letter o". Þessi
strengur prentast á skjáinn þegar METRFONT er keyrt. Því næst kemur skip-
unin beginchar með fjórum færibreytum. Fyrsta breytan er númer stafsins
í leturtöflunni (sem hér er táknað með "o" sem jafngildir 111). Næstu þrjár
breytur tákna breidd, hæð og dýpt stafsins. Breiddin er 9 „einingar“ (táknað
9u#), hæðin er jöfn x-hæðinni en dýptin er 0. I þriðju línu er greint frá skálet-
ursleiðréttingunni (sem táknuð er í innslætti með \/ eins og fyrr er greint frá)
en í hinni næstu er greint frá bili sem er til hliðar við stafinn ef fyrirferð allra
stafa er söm í letrinu (,,monospace“). I fimmtu og sjöttu línu er greint fi-á breidd
penna og halla á þeim hnitum sem stafurinn hefur. Hnitin eru fjögur, (æi, j/i),
(£2,3/2), (£3,2/3) og (£4,2/4). Lögun penna er tilgreind með skipuninni penpos og
er ein skipun fyrir hver hnit. Skipunin penpos\ á við hnitin (£1,2/1) o.s.frv. Af
forritinu má ráða að penninn hafi breiddina vair við hnit (£1,2/1) og (£3,7/3) en
breiddina curve við hnitin (£2,2/2) og (£4,2/4). Penninn er í lóðréttri stöðu við
(£i,2/i) og (£3,2/3) ení láréttri stöðu við (£2,2/2) og (£4,2/4)-
Staðsetning sjálfra hnitanna er tilgreind með jöfiiunum í línum 7-9. Svo
dæmi sé tekið sést þar að £-gildi hnitanna (£1,2/1) og (£3,2/3) eru tilgreind sem
1 cmchar "The letter o";
2 beginchar("o", 9u*, xJieight*, 0);
3 italcorr .7 x Jieight^ * slant\
4 adjust_fít(if monospace: .5u#, ,5u# else: 0, 0 fi);
5 penpos\(vair, 90); penpos3(vair', — 90);
6 penpos2(curve, 180); penpos4(curve,0)\
7 £2^ = hround max(.5u, 1.25u — .5curve);
8 £4„ — w — £2r; £1 = £3 = .5w; y\r = h -f vround 1.5oo;
9 2/3r = -00; 2/2 = 2/4 = -5h - vair-corr; y2i := yn := .52h;
10 penstroke pulled-arce( 1,2) & pulled-arce(2,3)
11 & pulled-arce(3,4) & pulled-arce(A, 1) & cycle; % bowl
12 penlabels(l,2,3,4); endchar;
Mynd 7: METRFONT-/07T/Í stafsins ‘o'.