diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/cm/cmtest |
Initial commit
Diffstat (limited to 'fonts/cm/cmtest')
30 files changed, 616 insertions, 0 deletions
diff --git a/fonts/cm/cmtest/0_read_me b/fonts/cm/cmtest/0_read_me new file mode 100644 index 0000000000..e988ca0778 --- /dev/null +++ b/fonts/cm/cmtest/0_read_me @@ -0,0 +1,20 @@ +This directory contains only the test files for work on +the Computer Modern fonts. The source files, and most +related files are now in the directory ./cmfonts +at the main level of this distribution. + +cmfonts consists of + +./cmfonts/mf +./cmfonts/pl +./cmfonts/tfm +./cmfonts/gf +./cmfonts/pxl + +./cmfonts/gf/gf118 +./cmfonts/gf/gf200 +./cmfonts/gf/gf300 + +The parallel directory LaTeXfonts has a similar +structure, and contains the special LaTeX and +SliTeX fonts. diff --git a/fonts/cm/cmtest/3test.mf b/fonts/cm/cmtest/3test.mf new file mode 100644 index 0000000000..b106233f0b --- /dev/null +++ b/fonts/cm/cmtest/3test.mf @@ -0,0 +1,60 @@ +% This tries all characters on TEST.MF using six different sets of parameters +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mag=.5; +% use the following lines to get rid of DD nonsquareness +% aspect_ratio_[proof]:=4/3; % WAITS only! +% aspect_ratio_[smoke]:=4/3; % WAITS only! +% mag:=3/8; % WAITS only! +mode_setup; let mode_setup=\; + +boolean running; +def abort = hide(scrollmode; running:=false) enddef; +def pause=stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; +def ligtable text t=enddef; +def charlist text t=enddef; +def extensible text t=enddef; + +string currenttitle; +let semi=;; let echar=endchar; let endchar=enddef; +def cmchar expr s = currenttitle:=s; + let;=testchar semi quote def chartext=enddef; +def testchar = semi let;=semi; + % now `chartext echar' will generate the character to be tested + running:=true; errorstopmode; + for k=1 upto 6: + if running: if known params[k]: scantokens params[k]; font_setup; + currentwindow:=k; + currenttitle & ", " & fontname[k]; + chartext echar; fi fi endfor + pause; enddef; + +string params[],fontname[]; +params[1]="ital_params"; fontname[1]="cmti10"; +params[2]="bold_ital_params"; fontname[2]="cmbxti10"; +params[3]="tt_params"; fontname[3]="cmit10"; + +w_rows=floor 1/2 screen_rows; w_cols=floor 1/3 screen_cols; +def open(expr k,i,j)= + openwindow k from ((i-1)*w_rows,(j-1)*w_cols) to (i*w_rows,j*w_cols) + at (-10,140) enddef; +def openit = + open(1,1,1); open(2,1,2); open(3,1,3); + open(4,2,1); open(5,2,2); open(6,2,3); enddef; + +begingroup delimiters begintext generate; + def WAITSkludge expr s = + if length s > 6: substring (0,3) of s & + substring(length s-3,infinity) of fi s enddef; + numeric Xerox_world; % again, this is WAITS only + def makedef(expr s)(text t) = + expandafter def scantokens s = t enddef; flushtext enddef; + def flushtext suffix t = enddef; + for k=1 upto 6: if known params[k]: + makedef(params[k]) + expandafter expandafter expandafter begintext + scantokens ("input "&WAITSkludge fontname[k]); fi endfor +endgroup; + +input test +end diff --git a/fonts/cm/cmtest/3test0.mf b/fonts/cm/cmtest/3test0.mf new file mode 100644 index 0000000000..62007ee428 --- /dev/null +++ b/fonts/cm/cmtest/3test0.mf @@ -0,0 +1,60 @@ +% This tries all characters on TEST0.MF using six different sets of parameters +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mag=.5; +% use the following lines to get rid of DD nonsquareness +% aspect_ratio_[proof]:=4/3; % WAITS only! +% aspect_ratio_[smoke]:=4/3; % WAITS only! +% mag:=3/8; % WAITS only! +mode_setup; let mode_setup=\; + +boolean running; +def abort = hide(scrollmode; running:=false) enddef; +def pause=stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; +def ligtable text t=enddef; +def charlist text t=enddef; +def extensible text t=enddef; + +string currenttitle; +let semi=;; let echar=endchar; let endchar=enddef; +def cmchar expr s = currenttitle:=s; + let;=testchar semi quote def chartext=enddef; +def testchar = semi let;=semi; + % now `chartext echar' will generate the character to be tested + running:=true; errorstopmode; + for k=1 upto 6: + if running: if known params[k]: scantokens params[k]; font_setup; + currentwindow:=k; + currenttitle & ", " & fontname[k]; + chartext echar; fi fi endfor + pause; enddef; + +string params[],fontname[]; +params[1]="ital_params"; fontname[1]="cmti10"; +params[2]="bold_ital_params"; fontname[2]="cmbxti10"; +params[3]="tt_params"; fontname[3]="cmit10"; + +w_rows=floor 1/2 screen_rows; w_cols=floor 1/3 screen_cols; +def open(expr k,i,j)= + openwindow k from ((i-1)*w_rows,(j-1)*w_cols) to (i*w_rows,j*w_cols) + at (-10,140) enddef; +def openit = + open(1,1,1); open(2,1,2); open(3,1,3); + open(4,2,1); open(5,2,2); open(6,2,3); enddef; + +begingroup delimiters begintext generate; + def WAITSkludge expr s = + if length s > 6: substring (0,3) of s & + substring(length s-3,infinity) of fi s enddef; + numeric Xerox_world; % again, this is WAITS only + def makedef(expr s)(text t) = + expandafter def scantokens s = t enddef; flushtext enddef; + def flushtext suffix t = enddef; + for k=1 upto 6: if known params[k]: + makedef(params[k]) + expandafter expandafter expandafter begintext + scantokens ("input "&WAITSkludge fontname[k]); fi endfor +endgroup; + +input test0 +end diff --git a/fonts/cm/cmtest/5test.mf b/fonts/cm/cmtest/5test.mf new file mode 100644 index 0000000000..1b2f4f4570 --- /dev/null +++ b/fonts/cm/cmtest/5test.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmbx5 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmbx5; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/5test0.mf b/fonts/cm/cmtest/5test0.mf new file mode 100644 index 0000000000..c79ea219e2 --- /dev/null +++ b/fonts/cm/cmtest/5test0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmbx5 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmbx5; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/6test.mf b/fonts/cm/cmtest/6test.mf new file mode 100644 index 0000000000..e1682c909b --- /dev/null +++ b/fonts/cm/cmtest/6test.mf @@ -0,0 +1,59 @@ +% This tries all characters on TEST.MF using six different sets of parameters +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mag=.5; +mode_setup;%let mode_setup=\; + +boolean running; +def abort = hide(scrollmode; running:=false) enddef; +def pause=stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; +def ligtable text t=enddef; +def charlist text t=enddef; +def extensible text t=enddef; + +string currenttitle; +let semi=;; let echar=endchar; let endchar=enddef; +def cmchar expr s = currenttitle:=s; + let;=testchar semi quote def chartext=enddef; +def testchar = semi let;=semi; + % now `chartext echar' will generate the character to be tested + running:=true; errorstopmode; + for k=1 upto 6: + if running: if known params[k]: scantokens params[k]; font_setup; + currentwindow:=k; + currenttitle & ", " & fontname[k]; + chartext echar; fi fi endfor + pause; enddef; + +string params[],fontname[]; +params[1]="roman_params"; fontname[1]="cmr10"; +params[2]="sans_params"; fontname[2]="cmsx10"; +params[3]="tt_params"; fontname[3]="cmtt10"; +params[4]="bold_params"; fontname[4]="cmb10"; +params[5]="quote_params"; fontname[5]="cmssqi8"; +params[6]="ital_params"; fontname[6]="cmti10"; + +w_rows=floor 1/2 screen_rows; w_cols=floor 1/3 screen_cols; +def open(expr k,i,j)= + openwindow k from ((i-1)*w_rows,(j-1)*w_cols) to (i*w_rows,j*w_cols) + at (-10,140) enddef; +def openit = + open(1,1,1); open(2,1,2); open(3,1,3); + open(4,2,1); open(5,2,2); open(6,2,3); enddef; + +begingroup delimiters begintext generate; + def WAITSkludge expr s = + if length s > 6: substring (0,3) of s & + substring(length s-3,infinity) of fi s enddef; + numeric Xerox_world; % again, this is WAITS only + def makedef(expr s)(text t) = + expandafter def scantokens s = t enddef; flushtext enddef; + def flushtext suffix t = enddef; + for k=1 upto 6: if known params[k]: + makedef(params[k]) + expandafter expandafter expandafter begintext + scantokens ("input "&WAITSkludge fontname[k]); fi endfor +endgroup; + +input test; +bye diff --git a/fonts/cm/cmtest/6test0.mf b/fonts/cm/cmtest/6test0.mf new file mode 100644 index 0000000000..176023865a --- /dev/null +++ b/fonts/cm/cmtest/6test0.mf @@ -0,0 +1,63 @@ +% This tries all characters on TEST0.MF using six different sets of parameters +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mag=.5; +% use the following lines to get rid of DD nonsquareness +% aspect_ratio_[proof]:=4/3; % WAITS only! +% aspect_ratio_[smoke]:=4/3; % WAITS only! +% mag:=3/8; % WAITS only! +mode_setup; let mode_setup=\; + +boolean running; +def abort = hide(scrollmode; running:=false) enddef; +def pause=stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; +def ligtable text t=enddef; +def charlist text t=enddef; +def extensible text t=enddef; + +string currenttitle; +let semi=;; let echar=endchar; let endchar=enddef; +def cmchar expr s = currenttitle:=s; + let;=testchar semi quote def chartext=enddef; +def testchar = semi let;=semi; + % now `chartext echar' will generate the character to be tested + running:=true; errorstopmode; + for k=1 upto 6: + if running: if known params[k]: scantokens params[k]; font_setup; + currentwindow:=k; + currenttitle & ", " & fontname[k]; + chartext echar; fi fi endfor + pause; enddef; + +string params[],fontname[]; +params[1]="roman_params"; fontname[1]="cmr10"; +params[2]="sans_params"; fontname[2]="cmsx10"; +params[3]="tt_params"; fontname[3]="cmtt10"; +params[4]="bold_params"; fontname[4]="cmb10"; +params[5]="quote_params"; fontname[5]="cmssqi8"; +params[6]="ital_params"; fontname[6]="cmti10"; + +w_rows=floor 1/2 screen_rows; w_cols=floor 1/3 screen_cols; +def open(expr k,i,j)= + openwindow k from ((i-1)*w_rows,(j-1)*w_cols) to (i*w_rows,j*w_cols) + at (-10,140) enddef; +def openit = + open(1,1,1); open(2,1,2); open(3,1,3); + open(4,2,1); open(5,2,2); open(6,2,3); enddef; + +begingroup delimiters begintext generate; + def WAITSkludge expr s = + if length s > 6: substring (0,3) of s & + substring(length s-3,infinity) of fi s enddef; + numeric Xerox_world; % again, this is WAITS only + def makedef(expr s)(text t) = + expandafter def scantokens s = t enddef; flushtext enddef; + def flushtext suffix t = enddef; + for k=1 upto 6: if known params[k]: + makedef(params[k]) + expandafter expandafter expandafter begintext + scantokens ("input "&WAITSkludge fontname[k]); fi endfor +endgroup; + +input test0 +end diff --git a/fonts/cm/cmtest/btest.mf b/fonts/cm/cmtest/btest.mf new file mode 100644 index 0000000000..045b8fe6c9 --- /dev/null +++ b/fonts/cm/cmtest/btest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmb10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmb10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/btest0.mf b/fonts/cm/cmtest/btest0.mf new file mode 100644 index 0000000000..e463144251 --- /dev/null +++ b/fonts/cm/cmtest/btest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmb10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmb10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/ctest.mf b/fonts/cm/cmtest/ctest.mf new file mode 100644 index 0000000000..4bc9819269 --- /dev/null +++ b/fonts/cm/cmtest/ctest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmssdc10 but crisp +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmsx10; crisp#:=0; tiny#:=0; fine#:=0; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/ftest.mf b/fonts/cm/cmtest/ftest.mf new file mode 100644 index 0000000000..974e34ebb9 --- /dev/null +++ b/fonts/cm/cmtest/ftest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmff10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmff10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/ftest0.mf b/fonts/cm/cmtest/ftest0.mf new file mode 100644 index 0000000000..50e38263f0 --- /dev/null +++ b/fonts/cm/cmtest/ftest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmff10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmff10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/itest.mf b/fonts/cm/cmtest/itest.mf new file mode 100644 index 0000000000..f952c76243 --- /dev/null +++ b/fonts/cm/cmtest/itest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmti10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmti10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/itest0.mf b/fonts/cm/cmtest/itest0.mf new file mode 100644 index 0000000000..3f623b1fff --- /dev/null +++ b/fonts/cm/cmtest/itest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmti10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmti10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/mtest.mf b/fonts/cm/cmtest/mtest.mf new file mode 100644 index 0000000000..7f151b6490 --- /dev/null +++ b/fonts/cm/cmtest/mtest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmmi10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmmi10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/mtest0.mf b/fonts/cm/cmtest/mtest0.mf new file mode 100644 index 0000000000..15310b83d6 --- /dev/null +++ b/fonts/cm/cmtest/mtest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmmi10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmmi10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/qtest.mf b/fonts/cm/cmtest/qtest.mf new file mode 100644 index 0000000000..d94264a23b --- /dev/null +++ b/fonts/cm/cmtest/qtest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmssqi8 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmsqi8; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/qtest0.mf b/fonts/cm/cmtest/qtest0.mf new file mode 100644 index 0000000000..ed999edcbd --- /dev/null +++ b/fonts/cm/cmtest/qtest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmssqi8 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmsqi8; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/rtest.mf b/fonts/cm/cmtest/rtest.mf new file mode 100644 index 0000000000..f5e449aa7d --- /dev/null +++ b/fonts/cm/cmtest/rtest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmr10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmr10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/rtest0.mf b/fonts/cm/cmtest/rtest0.mf new file mode 100644 index 0000000000..f8600b3ee5 --- /dev/null +++ b/fonts/cm/cmtest/rtest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmr10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmr10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/stest.mf b/fonts/cm/cmtest/stest.mf new file mode 100644 index 0000000000..363b566f2d --- /dev/null +++ b/fonts/cm/cmtest/stest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmssbx10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmsx10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/stest0.mf b/fonts/cm/cmtest/stest0.mf new file mode 100644 index 0000000000..f15b5f211b --- /dev/null +++ b/fonts/cm/cmtest/stest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmssbx10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmsx10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/test.mf b/fonts/cm/cmtest/test.mf new file mode 100644 index 0000000000..c2d81f0302 --- /dev/null +++ b/fonts/cm/cmtest/test.mf @@ -0,0 +1,29 @@ + +cmchar "Lowercase thorn"; +beginchar(oct"015",10u#+serif_fit#,asc_height#,desc_depth#); +italcorr .5x_height#*slant+min(.5curve#-.85u#,-.1u#); +adjust_fit(serif_fit#,0); +pickup tiny.nib; pos1(stem',0); pos2(stem,0); +pos0'(stem',0); pos0(stem,0); z0l=z0'l; x0'=x1; x0=x2; +lft x1l=hround(2.5u-.5stem'); top y1=h; +numeric edge; edge=rt x2r; +pickup fine.nib; pos3(if hefty:thin_join else: hair fi,180); +pos4(vair',90); pos5(curve,0); pos6(vair,-90); +rt x3l=1/3[rt x2,edge]; y3=1/8[bar_height,x_height]; +x4l=w-.5(w-serif_fit)+.5u; top y4r=x_height+oo; +rt x5r=hround min(w-1.35u+.5curve,w-.6u); y5=.5x_height; +x6=x3; bot y6r=-oo; +(x,y4r)=whatever[z3l,z4l]; x4r:=min(x,.5[x5r,x4]); +filldraw stroke z3e{up}...{right}z4e&super_arc.e(4,5) + &z5e{down}...{5(x6-x5),y6-y5}z6e; % bowl +y0=ypart(((edge,h)--(edge,0))intersectionpoint(z3l{up}...{right}z4l)); +pickup tiny.nib; bot y2=-d; +filldraw stroke z1e--z0'e--z0e--z2e; % stem +pickup crisp.nib; pos8(hair,0); pos7'(stem,0); +z7'=z2; x8l=x7'l; bot y8=0; +filldraw stroke z7'e--z8e; % point +if serifs: sloped_serif.l(1,0',a,1/3,jut,serif_drop); % upper serif + dish_serif(2,0,b,1/3,jut,c,1/3,0); fi % lower serif +penlabels(0,1,2,3,4,5,6,8); endchar; + + diff --git a/fonts/cm/cmtest/test0.mf b/fonts/cm/cmtest/test0.mf new file mode 100644 index 0000000000..636e22b416 --- /dev/null +++ b/fonts/cm/cmtest/test0.mf @@ -0,0 +1,26 @@ +cmchar "The letter m"; +beginchar("m",15u#,x_height#,0); +italcorr .5[bar_height#,x_height#]*slant-serif_fit#+.5stem#-2u#; +adjust_fit(serif_fit#+stem_shift#,serif_fit#-stem_shift#); +numeric shaved_stem; shaved_stem=hround(mfudged.stem-2stem_corr); +pickup tiny.nib; pos1(mfudged.stem,0); pos2(mfudged.stem,0); +pos1'(shaved_stem,0); pos2'(shaved_stem,0); +pos3(mfudged.stem,0); pos5(mfudged.stem,0); +lft x1l=hround(2.5u-.5stem); x1l=x1'l=x2l=x2'l; +lft x3l=hround(.5w-.5stem); x5-x3=x3-x1; +if not monospace: r:=hround(x5+x1)-l; fi % change width for better fit +top y1=h+min(oo,serif_drop); bot y2=0; y1=y1'; y2=y2'; +filldraw stroke z1'e--z2'e; % left stem +h_stroke(2,a,3,4); % left arch and middle stem +h_stroke(4,b,5,6); % right arch and right stem +if serifs: sloped_serif.l(1',2',c,1/3,jut,serif_drop); % upper left serif + numeric inner_jut; pickup tiny.nib; + if rt x2r+jut+.5u+1<=lft x4l-jut: inner_jut=jut; + else: rt x2r+jut+.5u+1=lft x4l-inner_jut; fi + dish_serif(2,1,d,1/3,jut,e,1/3,jut); % lower left serif + dish_serif(4,3,f,1/3,inner_jut,g,1/3,jut); % lower middle serif + dish_serif(6,5,h,1/3,inner_jut,i,1/3,jut); fi % lower right serif +penlabels(1,2,3,4,5,6); endchar; + + + diff --git a/fonts/cm/cmtest/ttest.mf b/fonts/cm/cmtest/ttest.mf new file mode 100644 index 0000000000..470a382a49 --- /dev/null +++ b/fonts/cm/cmtest/ttest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmtt10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmtt10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/ttest0.mf b/fonts/cm/cmtest/ttest0.mf new file mode 100644 index 0000000000..8f0b254fbd --- /dev/null +++ b/fonts/cm/cmtest/ttest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmtt10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmtt10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/xtest.mf b/fonts/cm/cmtest/xtest.mf new file mode 100644 index 0000000000..524c892973 --- /dev/null +++ b/fonts/cm/cmtest/xtest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of cmbx10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmbx10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/xtest0.mf b/fonts/cm/cmtest/xtest0.mf new file mode 100644 index 0000000000..31a4e3f551 --- /dev/null +++ b/fonts/cm/cmtest/xtest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of cmbx10 +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input cmbx10; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end diff --git a/fonts/cm/cmtest/ztest.mf b/fonts/cm/cmtest/ztest.mf new file mode 100644 index 0000000000..35d1489e27 --- /dev/null +++ b/fonts/cm/cmtest/ztest.mf @@ -0,0 +1,13 @@ +% try all characters on TEST.MF using the parameters of an unknown font +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input z; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test; +end diff --git a/fonts/cm/cmtest/ztest0.mf b/fonts/cm/cmtest/ztest0.mf new file mode 100644 index 0000000000..f3981c676d --- /dev/null +++ b/fonts/cm/cmtest/ztest0.mf @@ -0,0 +1,13 @@ +% try all characters on TEST0.MF using the parameters of an unknown font +if unknown cmbase: input cmbase fi % omit if CMMF can be assumed +mode_setup; + +def generate suffix t= enddef; +input z; font_setup; + +let echar=endchar; +def endchar= echar; stop "done with char "&decimal charcode&". " enddef; +let iff=always_iff; + +input test0; +end |