summaryrefslogtreecommitdiff
path: root/fonts/ec/src/exisixts.mf
blob: 557a7dbd9f5b89dfbb34746140a97728f0969205 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
% This is EXISIXTS.MF in text format, as of March 24, 1992
%
% ecfonts version 1.0
%
%          [ heavily borrowed from the Computer Modern Roman family of
%            fonts by D. E. Knuth ]
%
% Content:
%
%   variant of 6test  modified for testing of ecfonts
%   should be used with exbase only
%
%
mode_def screenproof =  % for onscreen viewing of CGA proofs (full screen)
 proofing:=2;                   % yes, we're making full proofs
 fontmaking:=0;                 % no, we're not making a font
 tracingtitles:=1;              % yes, show titles online
 pixels_per_inch:=1001;         % make it easy to view one char on screen
 blacker:=0;                    % no additional blackness
 fillin:=0;                     % no compensation for fillin
 o_correction:=1;               % no reduction in overshoot
 aspect_ratio:=480/640; %265/640        % adjust for screen skewing also
enddef;

\mode:=screenproof;

mode_setup;




if unknown exbase: input exbase fi % omit if CMMF can be assumed
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 ecchar 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 8:
  if running: if known params[k]: scantokens params[k]; font_setup;
    currentwindow:=k;
    currenttitle & ", " & fontname[k];
    chartext echar; fi fi endfor
 pause; enddef;

numeric fontsize[];
numeric gensize;
string params[],fontname[];
params[1]="roman_params"; fontsize[1]:=10; fontname[2]="dcti";
params[2]="sans_params";  fontsize[2]:=10; fontname[3]="dcbxti";
params[3]="tt_params";    fontsize[3]:=10; fontname[1]="dcitt";
params[4]="bold_params";  fontsize[4]:=10; fontname[4]="dcu";
params[5]="quote_params"; fontsize[5]:=10; fontname[5]="dcfi";
% params[6]="ital_params";  fontsize[6]:=10; fontname[6]="dci"; %vtt"; % 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 (-65,120) 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 longerkludge expr s =
  if length s > 8: substring (0,3) of s &
   substring(length s-3,infinity) of fi s enddef;
 def makedef(expr s)(text t) =
  expandafter def scantokens s = t enddef; flushtext enddef;
 def flushtext suffix t = enddef;
 for k=1 upto 8: if known params[k]:
  gensize := fontsize[k];
 makedef(params[k])
  expandafter expandafter expandafter begintext
  scantokens ("input "&longerkludge fontname[k]); fi endfor
endgroup;


endinput;