summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/universa/unilig.mf
blob: 6e5fc36945f7e8c17a179e923d9e479708b116a0 (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
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:
%%
%% universa.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 universa.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'.