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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
%%
%% This is file `unilig.mf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% uni.dtx (with options: `lig')
%%
%% Copyright (C) 1998 Christian Holm.
%%
%% The universal font and package is distributed in the hope that
%% it will be useful, but WITHOUT ANY WARRANTY; without even the
%% implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
%% PURPOSE. See the GNU General Public License for more details.
%%
%% See the file uni.dtx for further comments and documentation.
%%
if caps:
beginchar(hex"19",5/2x_w#,x_h#,0) ; "Ligature SS" ;
temp := (h+p_t)/4 ;
uniarc(temp,p_t,(temp,temp),180,270,10) ;
uniarc(temp,p_t,(2w/5-temp,temp),270,450,20) ;
uniarc(temp,p_t,(temp,h-temp),90,270,30) ;
uniarc(temp,p_t,(2w/5-temp,h-temp),0,90,40) ;
pickup unipensqu ;
bot lft z1 = (temp,0) ; bot rt z2 = (2w/5-temp,0) ;
lft z3 = (temp,h/2) ; rt z4 = (2w/5-temp,h/2) ;
top lft z5 = (temp,h) ; top rt z6 = (2w/5-temp,h) ;
draw z1--z2 ; draw z3--z4 ; draw z5--z6 ;
penlabels(1,2,3,4,5,6) ;
currentpicture := currentpicture + (currentpicture shifted
(3/5w,0)) ;
endchar ;
else:
beginchar(hex"19",(l_h#+3p_t#)/2,l_h#,p_t#) ; "Ligature ss" ;
rad := (w-p_t)/2 ;
uniarc(rad,p_t,(p_t+rad,h-rad),-90,180,10) ;
uniarc(rad,p_t,(p_t+rad,rad),-90,90,20) ;
pickup unipensqu ;
top lft z1 = (p_t,h-rad) ; bot lft z2 = (p_t,-d) ; draw z1--z2 ;
lft z3 = (0,h/2) ; rt z4 = (w-rad,h/2) ; draw z3--z4 ;
penlabels(1,2,3,4) ;
endchar ;
fi ;
if not caps :
for temp = 1,2 :
if temp = 2 : code_offset := 3 ; fi ;
beginchar(hex"1A",2x_w#-p_t#,x_h#,0) ; "Ligature ae" ;
currentpicture := a_pic + ( e_pic shifted ((w-p_t)/2,0)) ;
endchar ;
beginchar(hex"1B",2x_w#-p_t#,x_h#,0) ; "Ligature oe" ;
unicir(h/2,p_t,(h/2,h/2),10) ;
currentpicture := currentpicture + (e_pic shifted ((w-p_t)/2,0)) ;
endchar ;
beginchar(hex"1C",x_w#,x_h#,0) ; "Ligature o/" ;
unicir(w/2,p_t,(w/2,h/2),10) ;
unilne(p_t,(0,0),(w,h),1,1,20) ;
endchar ;
exitif (not strict) ;
if temp = 2 : code_offset := 0 ; fi ;
endfor ;
fi ;
if not strict :
for temp = 1,2 :
if temp = 2 : do_caps(-3) ; fi ;
beginchar(hex"1D",M_w#,l_h#,0) ; "Ligature AE" ;
uniarc(w/2,P_t,(w/2,h-w/2),90,180,21) ;
uniend(P_t,((w+P_t)/2,P_t),180,270,30) ;
pickup Unipensqu ;
top lft z1 = (w/2,h) ; top rt z2 = (w,h) ;
top lft z3 = (0,h-w/2) ; bot lft z4 = (0,0) ;
lft z5 = (0,h/2) ; rt z6 = (w,h/2) ;
bot lft z7 = ((w+P_t)/2,0) ; bot rt z8 = (w,0) ;
top z9 = (w/2,h) ; bot z10 = (w/2,P_t) ;
draw z1--z2 ; draw z3--z4 ; draw z5--z6 ;
draw z7--z8 ; draw z9--z10 ;
penlabels(range 1 thru 10) ;
endchar ;
beginchar(hex"1E",M_w#,l_h#,0) ; "Ligature OE" ;
uniarc(h/2,P_t,(h/2,h/2),90,270,10) ;
pickup Unipensqu ;
top lft z1 = (h/2,h) ; top rt z2 = (w,h) ; draw z1--z2 ;
lft z3 = (h/2,h/2) ; rt z4 = (w,h/2) ; draw z3--z4 ;
bot lft z5 = (h/2,0) ; bot rt z6 = (w,0) ; draw z5--z6 ;
top z7 = (h/2,h) ; bot z8 = (h/2,0) ; draw z7--z8 ;
penlabels(range 1 thru 8) ;
endchar ;
beginchar(hex"1F",l_h#,l_h#,0) ; "Liguture O/" ;
unicir(w/2,P_t,(w/2,h/2),10) ;
unilne(P_t,(0,0),(w,h),1,1,20) ;
endchar ;
exitif (not caps) ;
if temp = 2 : end_do_caps ; fi ;
endfor ;
fi ;
\endinput
%%
%% End of file `unilig.mf'.
|