summaryrefslogtreecommitdiff
path: root/fonts/malvern/source/malcco.mf
blob: 1cdbdec421d8ca8641f362b3385dcbb41176bdf3 (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
111
112
% malcco.mf 1.2.0 1994/10/11 -- lower case composite letter glyph programs
% Copyright 1994 P. Damian Cugley

%%% @METAFONT-file {
%%%   filename       = "malcco.mf",
%%%   version        = "1.2.0",
%%%   date           = "1994/10/11",
%%%   package        = "Malvern 1.2",
%%%   author         = "P. Damian Cugley",
%%%   email          = "damian.cugley@comlab.ox.ac.uk",
%%%   address        = "Oxford University Computing Laboratory,
%%%                     Parks Road, Oxford  OX1 3QD, UK",
%%%   codetable      = "USASCII",
%%%   keywords       = "Malvern, METAFONT, font, typefont, TeX",
%%%   supported      = "Maybe",
%%%   abstract       = "Character programs for the Malvern
%%%                     font family, for some l.c. composite letters .",
%%%   dependencies   = "other program files",
%%% }

%  See the Malvern Handbook (maman.tex) for more info about Malvern.
%  This software is available freely but without warranty.
%  See the file COPYING for details.

%{{{ malcco.mf

if testing: endinput; fi

%{{{  d+hook, d+bar

iff known code.lc.d.hook:
b_char(code.lc.d.hook)(b_wd# + hook_wd#)(o_sp, 0); 
    "l.c. d with variant hook";
    draw_b(l, -d, r - hook_wd, h, 0, x_ht) false;
    draw_hook.hook;
    set_ic_tr; 
endchar;

iff known code.lc.d.bar:
b_char(code.lc.d.bar)(b_wd# + u#)(o_sp, 0); 
    "l.c. d with bar";
    draw_b(l, -d, r - u, h, 0, x_ht) false;
    y1bar = y2bar = good.y(0.4[x_ht, h]);
    rt x2bar = r; x1bar = hround (2 * x1stem - x2bar - eps);
    draw z1bar -- z2bar;
    labels(1bar, 2bar);
    set_ic_tr; 
endchar;

%}}}  d+hook, d+bar
%{{{  composite letters based on "i"

iff known code.lc.i.acute: "l.c. i with acute mark";
ma_char(code.lc.i.acute, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_acute_grave.acute(1/2w, lc_mark_b, 2u, lc_mark_ht) false;
endchar;

iff known code.lc.i.grave: "l.c. i with grave mark";
ma_char(code.lc.i.grave, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_acute_grave.grave(1/2w, lc_mark_b, 2u, lc_mark_ht) true;
endchar;

iff known code.lc.i.circumflex: "l.c. i with circumflex";
ma_char(code.lc.i.circumflex, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_circumflex.circumflex(1/2w, lc_mark_b, 4u, lc_mark_ht) false;
endchar;

iff known code.lc.i.twodots: "l.c. i with two dots above";
ma_char(code.lc.i.twodots, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_twodots.twodots(1/2w, lc_mark_b, u + 2dot_wd, lc_mark_ht);
endchar;

iff known code.lc.i.dot: "l.c. i with dot";
ma_char(code.lc.i.dot, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_dot_mark.dot(1/2w, lc_mark_b, 0, lc_mark_ht);
endchar;

iff known code.lc.i.macron: "l.c. i with macron";
ma_char(code.lc.i.macron, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_macron.macron(1/2w, lc_mark_b, 2pn.wd + u, lc_mark_ht);
endchar;

iff known code.lc.i.breve: "l.c. i with breve";
ma_char(code.lc.i.breve, max(pn.wd#, dot_wd#), 
    	lc_mark_t#, 0v#)(i_sp, i_sp);
    draw_i; 
    draw_breve.breve(1/2w, lc_mark_b, 2pn.wd + 2u, lc_mark_ht);
endchar;

iff known code.dotless_i: "l.c. i sans dot";
x_char(code.dotless_i, max(pn.wd#, dot_wd#))(i_sp, i_sp);
    draw_i;
endchar;

%}}}  composite letters based on "i"
%}}} malcco.mf

% Local variables:
% fold-folded-p: t
% End: