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:
|