summaryrefslogtreecommitdiff
path: root/fonts/ec/src/txisuper.mf
blob: 8e1b9ccb3061320fd6f7f2d74ebb407b7c65d5b3 (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
113
114
115
116
117
118
119
120
121
122
% txisuper.mf
%
% (c) Copyright 1995, 1996, 1997 J"org Knappen
%
% This file is part of ecfonts version 1.0
%
% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
% copyrite.txt for further information
%
% You find some documentation in ecdoc.tex (needs LaTeX2e)
%
% Superscript digits 1,2,3 in italic style
% Male and female ordinal indicators

version_check(1,0);  % |version_check| was introduced in dc1.3

ecchar "Italic superscipt numeral 1";
beginchar(oct"271",8u#,body_height#,0);
italcorr body_height#*slant-.5u#;
adjust_fit(0,0); pickup tiny.nib;
numeric light_stem; light_stem=hround .4[stem',cap_stem'];
pos1(light_stem,0); pos2(light_stem,0);
lft x1l=lft x2l=hround(.5(w+.5u)-.5cap_stem'); top y1=h+apex_o; 
bot y2=.5asc_height;
filldraw stroke z1e--z2e;  % stem
dish_serif(2,1,a,1/3,min(2.25u,lft x2l-1.5u),
  b,1/3,min(2.25u,w-1.25u-rt x2r)); % serif
pickup crisp.nib; pos3(slab,-90); pos4(bar,-90);
top y3l=h+apex_o; top y4l=.8[bot y2,h]+apex_o;
lft x4=max(1.25u,tiny.lft x1l-2.35u); tiny.rt x1r=lft x3+.25[tiny,hair];
erase fill z3l{x4l-x3l,3(y4l-y3l)}...z4l{left}
 --(x4l,h+apex_o+1)--(x3l,h+apex_o+1)--cycle; % erase excess at top
filldraw stroke z3e{x4e-x3e,3(y4e-y3e)}..{left}z4e;  % point
penlabels(1,2,3,4); endchar;


ecchar "Italic superscript numeral 2";
beginchar(oct"262",8u#,body_height#,0);
italcorr body_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
pos5(vair,-270); pos6(curve,-360); pos7(hair,-405); pos8(hair,-360);
x1=x2-.5u; rt x2r=hround(3.5u+.5vair);
x3=.6[x2,x4]; lft x4r=hround(u-.5hair);
x5=x7=.5w-.5u; rt x6r=hround(w-u); lft x8l=hround(1.5u-.5hair);
y1=.5[y4,h]; y2=1/3[y1,y3]; 
bot y8=.5asc_height-oo;
y4=.78[bot y8,h]; 
bot y3r=vround .78[bot y8,y4];
top y5r=h+o; y6=.5[y5,y7]; y7=.52[bot y8,y4];
filldraw stroke if not hefty:z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
 z4e{up}...pulled_arc.e(5,6)...z7e{2(x7-x6),y7-y6}...{down}z8e; % main stroke
pos9(vair,-90); pos10(vstem+curve-stem,-90); pos11(hair,0);
x9=w-x10=2.5u; rt x11r=hround(w-.5u+.5hair);
y9=.25[y10,y7]; bot y10r=bot y8; y11=.38[bot y8,y4];
filldraw stroke z8e{up}...z9e{right}..{right}z10e...{up}z11e;  % bar
penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar;

ecchar "Italic superscript numeral 3";
beginchar(oct"263",8u#,body_height#,0);
italcorr body_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
pos1(vair,45); pos2(vair,0); pos3(vair,-90); pos4(hair,-180);
pos5(vair,-270); pos6(stem,-360); pos7(bar,-450); pos8(bar,-450);
x1=x2-.5u; rt x2r=hround(3.5u+.5vair); x3=.5[x2,x4]; lft x4r=hround u;
x5=x7=.5w; rt x6r=hround(w-u); x8=x7-u;
y[-1]=.5asc_height;                               % dummy point
y1=.5[y[-1]+x_height,h]; y2=.5[y1,y3]; y7=y8=.52[y[-1],h];
bot y3r=vround 1/4[y7,h];
y4=1/3[y3,y5]; top y5r=h+o; y6=.5[y5,y7];
filldraw stroke if not hefty: 
 z1e{2(x2-x1),y2-y1}...{down}z2e...{left}z3e...fi
 z4e{up}...pulled_arc.e(5,6) & pulled_arc.e(6,7)..z8e; % upper arc
pos7'(vair,90); z7'l=z7r;
pos9(curve,0); pos10(vair,-90); pos11(hair,-180); pos12(flare,-180);
rt x9r=hround(w-u); x10=.5w-.5u; lft x11r=hround .75u;
y9=.25[y[-1],h]; bot y10r=y[-1]-o; y11=1/3x_height+y[-1];
bulb(10,11,12);  % bulb
filldraw stroke pulled_arc.e(7',9) & pulled_arc.e(9,10);  % lower arc
penlabels(1,2,3,4,5,6,7,8,9,10,11,12); endchar;

ecchar"Italic female ordinal indicator";
beginchar(oct"252",8u#,body_height#,0);
italcorr .7body_height#*slant;
adjust_fit(0,0); 
numeric hh; hh=vround .5body_height;
pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
pos4(stem,0); x4=x0; y4+.5stem=vround .98hh;
x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
rt x4r=hround(w-2.5u+.5stem);
top y1r=hh+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
 & pulled_arc.e(2,3) & super_arc.e(3,0);  % bowl
x5=x4; x7=w; hook_out(5,6,7);  % closing hook
filldraw circ_stroke z4e--z5e;  % stem
pickup extra_rule.nib;
x14=hround u; x15=hround(w-.5u);
top y14=-rule_thickness; y15=y14;
draw z14--z15; % underline
currentpicture:=currentpicture shifted (0,hh);
penlabels(0,1,2,3,4,5,6,7,14,15); endchar;

ecchar"Italic male ordinal indicator";
beginchar(oct"272",8u#,body_height#,0);
numeric hh; hh=vround .5body_height;
italcorr .7body_height#*slant;
adjust_fit(0,0);
pickup fine.nib;
pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
top y1r=hh+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
 & pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
pickup extra_rule.nib;
x5=w-x6=hround u; 
top y5=-rule_thickness; y6=y5;
draw z5--z6; % underline
currentpicture:=currentpicture shifted (0,hh);
penlabels(1,2,3,4,5,6); endchar;

endinput;