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
|
% Mxedruli Base File `mxedbase.mf'
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Designed and (c) by Johannes Heinecke %
% Humboldt-Universit"at zu Berlin %
% Philosophische Faskult"at II %
% Institut f"ur deutsche Sprache und Linguistik %
% Computerlinguistik %
% J"agerstr. 10/11 %
% D - 10099 Berlin %
% <heinecke@compling.hu-berlin.de> %
% Please send any improvements, corrections, suggestions, enhancements etc %
% to the Author! %
% %
% Version 2.0 as of 16th June 1995 %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
mxedbase:=1; % Es soll nur einmal geladen werden.
newinternal slant;
def font_mxed_setup = % Eigenes Macro
define_pixels(mxu, mxlittle, mxhalf, mxone, mxheight, mxthird,
mxmiddle, mxtop, mxfeet, mxlow, mxzw);
define_blacker_pixels(px1, py1, dpx1, dpy1, pdot, pdash);
pickup pencircle xscaled px1 yscaled py1 rotated -10; % was 10
mxed_pen:=savepen;
pickup pencircle xscaled dpx1 yscaled dpy1 rotated -10;
mxed_digitpen:=savepen; % Pen for digits and punctuation
pickup pencircle scaled pdot;
mxed_dot:=savepen; % Pen for dots
pickup pencircle scaled pdash;
mxed_dash:=savepen; % Pen for lines
pickup pensquare scaled pdash;
mxed_square:=savepen;
pickup pencircle xscaled px1 yscaled py1;
mxed_pencc:=savepen;
currenttransform:=identity slanted slant yscaled aspect_ratio;
enddef;
if known cmbase:
def makebox(text rule) =
for y=0,h,mxlittle,-d,mxthird:
rule((0,y)t_,(r,y)t_); endfor % horizontals
for x=0,r,r-mxzw,mxhalf,mxone:
rule((x,-d)t_,(x,h)t_); endfor % verticals
% for x=u*(1+floor(l/u)) step u until r-1:
% rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals
% if charic<>0:
% rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction
enddef;
else:
def makebox(text r) =
% horizontal lines on y-values:
% 0, char-height, char-depth, mxlittle, ...
for y=0%,h.o_,-d.o_
,mxlittle,mxthird, mxheight,-mxlow: r((0,y),(w,y)); endfor
% vertical lines on x-values:
% 0, char-width, char-width - mxzw
% for x=0,w,w-mxzw, mxhalf, mxone: r((x,-d.o_),(x,h.o_)); endfor
for x=0,w, mxhalf, mxone: r((x,-mxlow),(x,mxheight)); endfor
if charic<>0: r((w+charic*hppp,h.o_),(w+charic*hppp,.5h.o_)); fi
enddef;
fi
endinput;
|