33 lines
929 B
Plaintext
33 lines
929 B
Plaintext
% more-or-less general slant font generator for GFtoDVI
|
|
|
|
% the calling file should set the font_identifier and
|
|
% n = number of characters
|
|
% s = slant ratio
|
|
% r# = rule thickness (in sharp units)
|
|
% u = vertical unit (in pixels)
|
|
|
|
if unknown mag: mag := 1;
|
|
elseif (mag<1) or (mag<>floor mag):
|
|
errmessage "Sorry, mag must be a positive integer"; mag := 1; fi
|
|
|
|
mg := mag; mag := 1; mode_setup; u# := u*72.27/pixels_per_inch;
|
|
pixels_per_inch := pixels_per_inch*mg; fix_units;
|
|
|
|
define_whole_pixels(u); define_blacker_pixels(r);
|
|
pickup pencircle scaled r; ruler := savepen;
|
|
|
|
for k=1 upto n:
|
|
beginchar(k,k*u#*s,n*u#,0);
|
|
pickup ruler; draw origin--(k*u*s,k*u);
|
|
unfill (lft-1,bot -1)--(rt 1,bot -1)
|
|
--(rt 1,0)--(lft-1,0)--cycle;
|
|
unfill ((lft -1,0)--(rt 1,0)
|
|
--(rt 1,top 1)--(lft -1,top 1)--cycle) shifted (k*u*s,k*u);
|
|
endchar; endfor
|
|
|
|
font_size 16pt#;
|
|
font_slant s;
|
|
fontdimen 8: r#;
|
|
font_coding_scheme "GFSLANT";
|
|
bye.
|