diff options
author | Karl Berry <karl@freefriends.org> | 2014-12-14 00:12:03 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2014-12-14 00:12:03 +0000 |
commit | 003784987870c03b80d1c7c230c856f299aa9f22 (patch) | |
tree | 23d013b80366a12e1f330374a2e3519643726f89 /Master/texmf-dist/fonts/source | |
parent | 6616434a24f0432340c944777ebecdcc714ebca0 (diff) |
regenerate tfm as part of knuth-lib, where the mf sources are; also move a variety of other knuth files into knuth-lib
git-svn-id: svn://tug.org/texlive/trunk@35820 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source')
15 files changed, 532 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/3test.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/3test.mf new file mode 100644 index 00000000000..8a62fb1fdd3 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/3test.mf @@ -0,0 +1,53 @@ +% This tries all characters on TEST.MF using three different sets of parameters +% (appropriate for italic styles) +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]="ital_params"; fontname[1]="cmti10"; +params[2]="bold_ital_params"; fontname[2]="cmbxti10"; +params[3]="tt_params"; fontname[3]="cmmi10"; + +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 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 "&fontname[k]); fi endfor +endgroup; + +input test +end diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/6test.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/6test.mf new file mode 100644 index 00000000000..9c66d556fd7 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/6test.mf @@ -0,0 +1,55 @@ +% 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]="cmssbx10"; +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 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 "&fontname[k]); fi endfor +endgroup; + +input test; +bye diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/expr.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/expr.mf new file mode 100644 index 00000000000..fe05a01322f --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/expr.mf @@ -0,0 +1,5 @@ +string s[]; s1="abra"; +path p[]; p1=(0,0)..(3,3); p2=(0,0)..(3,3)..cycle; +tracingonline:=1; scrollmode; +forever: message "gimme an expr: "; s0:=readstring; +show scantokens s0; endfor diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/io.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/io.mf new file mode 100644 index 00000000000..58a8be68db2 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/io.mf @@ -0,0 +1,23 @@ +mode_setup; + em#:=10pt#; cap#:=7pt#; + thin#:=1/3pt#; thick#:=5/6pt#; + o#:=1/5pt#; +define_pixels(em,cap); +define_blacker_pixels(thin,thick); +define_corrected_pixels(o); + curve_sidebar=round 1/18em; +beginchar("O",0.8em#,cap#,0); "The letter O"; + penpos1(thick,10); penpos2(.1[thin,thick],90-10); + penpos3(thick,180+10); penpos4(thin,270-10); + x1l=w-x3l=curve_sidebar; x2=x4=.5w; + y1=.49h; y2l=-o; y3=.51h; y4l=h+o; + penstroke z1e{down}..z2e{right} + ..z3e{up}..z4e{left}..cycle; + penlabels(1,2,3,4); endchar; +def test_I(expr code,trial_stem,trial_width) = + stem#:=trial_stem*pt#; define_blacker_pixels(stem); + beginchar(code,trial_width*em#,cap#,0); "The letter I"; + penpos1(stem,15); penpos2(.9stem,12); penpos3(stem,10); + x1=x2=x3=.5w; y1=h; y2=.55h; y3=0; x2l:=1/6[x2l,x2]; + penstroke z1e..z2e{down}..z3e; + penlabels(1,2,3); endchar; enddef; diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/logo.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/logo.mf new file mode 100644 index 00000000000..2a308ab917b --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/logo.mf @@ -0,0 +1,127 @@ +% Routines for the METAFONT logo, as found in The METAFONTbook +% Extended to characters P and S for John Hobby's METAPOST +% (logo10.mf is a typical parameter file) + +mode_setup; +if unknown slant: slant:=0 else: currenttransform:= + identity slanted slant yscaled aspect_ratio fi; + +ygap#:=(ht#/13.5u#)*xgap#; % vertical adjustment +ho#:=o#; % horizontal overshoot +leftstemloc#:=2.5u#+s#; % position of left stem +barheight#:=.45ht#; % height of bar lines +py#:=.9px#; % vertical pen thickness + +define_pixels(s,u); +define_whole_pixels(xgap); +define_whole_vertical_pixels(ygap); +define_blacker_pixels(px,py); +pickup pencircle xscaled px yscaled py; +logo_pen:=savepen; +define_good_x_pixels(leftstemloc); +define_good_y_pixels(barheight); +define_corrected_pixels(o); +define_horizontal_corrected_pixels(ho); + +def beginlogochar(expr code, unit_width) = + beginchar(code,unit_width*u#+2s#,ht#,0); + pickup logo_pen enddef; + +def super_half(suffix i,j,k) = + draw z.i{0,y.j-y.i} + ... (.8[x.j,x.i],.8[y.i,y.j]){z.j-z.i} + ... z.j{x.k-x.i,0} + ... (.8[x.j,x.k],.8[y.k,y.j]){z.k-z.j} + ... z.k{0,y.k-y.j} enddef; + +def super_crescent(suffix i,j,k) = + draw z.i{x.j-x.i,0} + ... (.8[x.i,x.j],.8[y.j,y.i]){z.j-z.i} + ... z.j{0,y.k-y.i} + ... (.8[x.k,x.j],.8[y.j,y.k]){z.k-z.j} + ... z.k{x.k-x.j,0} enddef; + +beginlogochar("M",18); +x1=x2=leftstemloc; x4=x5=w-x1; x3=w-x3; +y1=y5; y2=y4; bot y1=-o; +top y2=h+o; y3=y1+ygap; +draw z1--z2--z3--z4--z5; +labels(1,2,3,4,5); endchar; + +beginlogochar("E",14); +x1=x2=x3=leftstemloc; +x4=x6=w-x1+ho; x5=x4-xgap; +y1=y6; y2=y5; y3=y4; +bot y1=0; top y3=h; y2=barheight; +draw z6--z1--z3--z4; draw z2--z5; +labels(1,2,3,4,5,6); endchar; + +beginlogochar("T",13); +italcorr ht#*slant + .5u#; +if .5w<>good.x .5w: change_width; fi +lft x1=-eps; x2=w-x1; x3=x4=.5w; +y1=y2=y3; top y1=h; bot y4=-o; +draw z1--z2; draw z3--z4; +labels(1,2,3,4); endchar; + +beginlogochar("A",15); +x1=.5w; x2=x4=leftstemloc; x3=x5=w-x2; +top y1=h+o; y2=y3=barheight; +bot y4=bot y5=-o; +draw z4--z2--z3--z5; super_half(2,1,3); +labels(1,2,3,4,5); endchar; + +beginlogochar("F",14); +x1=x2=x3=leftstemloc; +x4=w-x1+ho; x5=x4-xgap; +y2=y5; y3=y4; bot y1=-o; +top y3=h; y2=barheight; +draw z1--z3--z4; draw z2--z5; +labels(1,2,3,4,5); endchar; + +beginlogochar("P",14); +x1=x2=x3=leftstemloc; +x4=x5=.618[x1,w-x1]; +y2=y5; y3=y4; bot y1=-o; +top y3=h; y2=barheight; +draw z1--z3--z4; draw z2--z5; +x6=.5[w-x1,lft w]; y6=.5[y4,y5]; +super_crescent(4,6,5); +labels(1,2,3,4,5,6); endchar; + +beginlogochar("S",14); +x3=x8=leftstemloc; +x1=w-x3; +x2=x4=.382[x3,x1]; +x5=x7=.9[x3,x1]; +x6=.5[x1,w]; +top y1=h; y4=barheight; bot y8=0; +y1=y2; y3=.6[y2,y4]; y4=y5; y6=.3[y5,y7]; y7=y8; +draw z1--z2; draw z4--z5; draw z7--z8; +super_crescent(2,3,4); +super_crescent(5,6,7); +labels(1,2,3,4,5,6,7,8); endchar; + +beginlogochar("O",15); +x1=x4=.5w; top y1=h+o; bot y4=-o; +x2=w-x3=good.x(1.5u+s); y2=y3=barheight; +super_half(2,1,3); super_half(2,4,3); +labels(1,2,3,4); endchar; + +beginlogochar("N",15); +x1=x2=leftstemloc; x3=x4=x5=w-x1; +bot y1=bot y4=-o; +top y2=top y5=h+o; y3=y4+ygap; +draw z1--z2--z3; draw z4--z5; +labels(1,2,3,4,5); endchar; + +ligtable "T": "A" kern -.5u#; +ligtable "F": "O" kern -u#; +ligtable "P": "O" kern u#; + +font_quad:=18u#+2s#; +font_normal_space:=6u#+2s#; +font_normal_stretch:=3u#; +font_normal_shrink:=2u#; +font_identifier:="MFLOGO" if slant<>0: & "SL" fi; +font_coding_scheme:="AEFMNOPST only"; diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/logo10.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/logo10.mf new file mode 100644 index 00000000000..2b89c710d10 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/logo10.mf @@ -0,0 +1,10 @@ +% 10-point METAFONT logo +font_size 10pt#; % the "design size" of this font +ht#:=6pt#; % height of characters +xgap#:=0.6pt#; % horizontal adjustment +u#:=4/9pt#; % unit width +s#:=0; % extra space at the left and the right +o#:=1/9pt#; % overshoot +px#:=2/3pt#; % horizontal thickness of pen +input logo % now generate the font +bye % and stop. diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/logo8.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/logo8.mf new file mode 100644 index 00000000000..59b37c072bc --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/logo8.mf @@ -0,0 +1,10 @@ +% 8-point METAFONT logo +font_size 8pt#; % the "design size" of this font +ht#:=.8*6pt#; % height of characters +xgap#:=.8*0.6pt#; % horizontal adjustment +u#:=.82*4/9pt#; % unit width +s#:=.2pt#; % extra space at the left and the right +o#:=1/12pt#; % overshoot +px#:=.8*2/3pt#; % horizontal thickness of pen +input logo % now generate the font +bye % and stop. diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/logo9.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/logo9.mf new file mode 100644 index 00000000000..49ea7e99f75 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/logo9.mf @@ -0,0 +1,10 @@ +% 9-point METAFONT logo +font_size 9pt#; % the "design size" of this font +ht#:=.9*6pt#; % height of characters +xgap#:=.9*0.6pt#; % horizontal adjustment +u#:=.91*4/9pt#; % unit width +s#:=.08pt#; % extra space at the left and the right +o#:=1/10pt#; % overshoot +px#:=.9*2/3pt#; % horizontal thickness of pen +input logo % now generate the font +bye % and stop. diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/logobf10.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/logobf10.mf new file mode 100644 index 00000000000..f943053ff5a --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/logobf10.mf @@ -0,0 +1,10 @@ +% 10-point boldface METAFONT logo +font_size 10pt#; % the "design size" of this font +ht#:=6pt#; % height of characters +xgap#:=23/20*0.6pt#; % horizontal adjustment +u#:=23/20*4/9pt#; % unit width +s#:=.1pt#; % extra space at the left and the right +o#:=1/9pt#; % overshoot +px#:=44/36pt#; % horizontal thickness of pen +input logo % now generate the font +bye % and stop. diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/logosl10.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/logosl10.mf new file mode 100644 index 00000000000..741fdb9fa2e --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/logosl10.mf @@ -0,0 +1,3 @@ +% 10-point slanted METAFONT logo +slant := 1/4; +input logo10 diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/null.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/null.mf new file mode 100644 index 00000000000..9828fbb16f7 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/null.mf @@ -0,0 +1,3 @@ +% This is an empty METAFONT source file. Why do you want it? Because if +% mf says `Please type another input file name:' and if you don't have one +% in mind, you can just say `null' and METAFONT will get out of its loop. diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/rtest.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/rtest.mf new file mode 100644 index 00000000000..f5e449aa7db --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/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/Master/texmf-dist/fonts/source/public/knuth-lib/test.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/test.mf new file mode 100644 index 00000000000..c2d81f03023 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/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/Master/texmf-dist/fonts/source/public/knuth-lib/waits.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/waits.mf new file mode 100644 index 00000000000..4d23e0a00d5 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/waits.mf @@ -0,0 +1,168 @@ +% This file can be loaded after PLAIN.MF. +% It introduces conventions that are commonly used at WAITS. +base_version:=base_version&"/WAITS"; + +% The WAITS implementation allows an extended character set; +% characters :=, <=, <>, and >= are put into the class with <, =, >, :, and |; +% character ^^L (form feed) is in a class by itself, and is like an "outer" \. +% Files containing these special characters should not be expected to work +% elsewhere unless the following replacements are made: + let <= = <=; + let <> = <>; + let >= = >=; + let := = :=; + +% Say "boise_proof" on the command line, to get proofmode on boise +def boise_proof = lcode_:=" /"; + extra_setup:=extra_setup&"grayfont grbois;" enddef; + +screen_rows:=400; screen_cols:=480; + +% Here are conventions for local output devices: + +mode_def dover = % dover mode: for the Xerox Dover + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=384; + blacker:=1.2; % make pens somewhat blacker + fillin:=0; % no compensation for fillin + o_correction:=.6; % but don't overshoot as much + enddef; + +mode_def imagen = % imagen mode: for the Imagen 8/300 (Canon engine) + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=300; + blacker:=0; % Canon engine is black enough + fillin:=.2; % and it tends to fill in diagonals + o_correction:=.6; % + enddef; + +mode_def qms = % qms mode: for the QMS (Xerox engine) + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=300; + blacker:=.75; % (this value is conjectural) + fillin:=0; % (ditto) + o_correction:=.5; % (ditto) + enddef; + +mode_def aps = % aps mode: for the Autologic APS-Micro5 + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=1; % yes, show titles online + pixels_per_inch:=722.909; % that's roughly 10 per pt + blacker:=.2; % make pens a teeny bit blacker + fillin:=.2; % but compensate for diagonal fillin + o_correction:=1; % and keep the full overshoot + enddef; + +mode_def crs = % crs mode: for the Alphatype CRS + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=1; % yes, show titles online + begingroup interim warningcheck:=0; % (we need to go past 4096) + pixels_per_inch:=4000+4000/3 endgroup; % HIGH res + blacker:=4; % make pens a lot blacker + fillin:=0; % but don't compensate for fillin + o_correction:=1; % and keep the full overshoot + enddef; + +mode_def boise = % boise mode: for the HP 2680A + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=180; + blacker:=.55; % make pens a bit blacker + fillin:=.1; % and compensate for diagonal fillin + o_correction:=.3; % but don't overshoot much + enddef; + +mode_def DD = % DD mode: for the DataDisc (usually with mag=magstep 2=1.44) + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=70; % really lowres + blacker:=0; % don't make the pens any blacker + fillin:=0; % and don't compensate for fillin + o_correction:=.2; % but suppress most overshoots + enddef; + +mode_def canon = % canon mode: for the old Imagen (Canon LBP10) + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=240; + blacker:=.2; % make pens a wee bit blacker + fillin:=.2; % and compensate for fillin + o_correction:=.4; % but don't overshoot as much + enddef; + +mode_def newDD = % newDD mode: for DataDisc with special aspect ratio + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=70; % really lowres + blacker:=0; % don't make the pens any blacker + fillin:=0; % and don't compensate for fillin + o_correction:=.2; % but suppress most overshoots + aspect_ratio:=4/3; % this is the new feature... + enddef; + +mode_def cg = % cg mode: for the Compugraphic 8600 + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=1; % yes, show titles online + pixels_per_inch:=1301.5; % a bit less than 20 per pt + blacker:=.2; % make pens a teeny bit blacker + fillin:=.2; % but compensate for diagonal fillin + o_correction:=1; % and keep the full overshoot + aspect_ratio:=1569/1301.5; % strange, no? + enddef; + +mode_def epson = % Epson + proofing:=0; % no, we're not making proofs + fontmaking:=1; % yes, we are making a font + tracingtitles:=0; % no, don't show titles in the log + pixels_per_inch:=240; % lowres + blacker:=0; % don't make the pens any blacker + fillin:=0; % and don't compensate for fillin + o_correction:=.2; % but suppress most overshoots + aspect_ratio:=9/10; % 216 dots/inch vertical + enddef; + + +localfont:=imagen; + +% Finally, here are macros for Xerox-world font info: + +def font_family expr s = % string s names the font family, e.g., "CMR" + headerbyte 49: BCPL_string(s,20); + special "identifier "&s enddef; +def coding_scheme expr s = % string s names the scheme, e.g. "TEX TEXT" + headerbyte 9: BCPL_string(s,40); + special "codingscheme "&s enddef; +def font_face_byte expr x = % integer x gives the family member number, + headerbyte 72: x; % which should be between 0 and 255 + special "fontfacebyte"; numspecial x enddef; + +def BCPL_string(expr s,n)= % string s becomes an n-byte BCPL string + for l:=if length(s)>=n: n-1 else: length(s) fi: l + for k:=1 upto l: , substring (k-1,k) of s endfor + for k:=l+2 upto n: , 0 endfor endfor enddef; + +Xerox_world:=1; % users can say `if known Xerox_world:...fi' + +inner end; +def bye= + if fontmaking>0: font_family font_identifier_; + coding_scheme font_coding_scheme_; + font_face_byte max(0,254-round 2designsize); fi + tracingstats:=1; % at least for now we want this + end + enddef; + +outer bye,end; diff --git a/Master/texmf-dist/fonts/source/public/knuth-lib/ztest.mf b/Master/texmf-dist/fonts/source/public/knuth-lib/ztest.mf new file mode 100644 index 00000000000..35d1489e275 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/knuth-lib/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 |