summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/metafont/misc/3test.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/metafont/misc/3test.mf')
-rw-r--r--Master/texmf-dist/metafont/misc/3test.mf53
1 files changed, 53 insertions, 0 deletions
diff --git a/Master/texmf-dist/metafont/misc/3test.mf b/Master/texmf-dist/metafont/misc/3test.mf
new file mode 100644
index 00000000000..8a62fb1fdd3
--- /dev/null
+++ b/Master/texmf-dist/metafont/misc/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