You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.9 KiB
88 lines
2.9 KiB
% 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;
|
|
|