summaryrefslogtreecommitdiff
path: root/fonts/cmpica/pica.mf
blob: 1cecbdec3f86c70ef10b35e052d7001887b651ea (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
%% \font\pc=cmpica
% This file is public domain.
% Originally written 1988, Don Hosek.
% This declaration added by Clea F. Rees 2008/11/14 with the permission of Dan Hosek.
%
% This is PICA.MF in text format, as of June 22, 1988.
% adapted from {\tt roman.mf}
% The Computer Modern Roman family of fonts (by D. E. Knuth, 1979--1985)
 
font_coding_scheme:="Modified TeX typewriter text";
 spanish_shriek=oct"016"; spanish_query=oct"017";
 
mode_setup; font_setup;
 
input romanu;  % upper case (majuscules)
input romanl;  % lower case (minuscules)
input greeku;  % upper case Greek letters
input romand;  % numerals
input romanp;  % ampersand, question marks, currency sign
input romspl;  % lowercase specials (dotless \i, ligature \ae, etc.)
input romspu;  % uppercase specials (\AE, \OE, \O)
input pcpunct; % punctuation symbols adapted for pica
input accent;  % accents common to roman and italic text
 
% Character codes \0013--\0015, \0074, and \0076 are generated when |ligs=1|;
% in addition, codes \0040, \0042, \0055, \0134, \0137, and \0173--\0175
% are generated, if |ligs=0|.
 
up_arrow=oct"013"; down_arrow=oct"014";
less=ASCII"<"; greater=ASCII">";
if ligs=0: straight_quotes=oct"042"; minus=ASCII"-";
 backslash=ASCII"\"; underbar=ASCII"_";
 left_brace=ASCII"{"; vertical=ASCII"|"; right_brace=ASCII"}"; fi
 
input sym;
 
cmchar "Straight single quote";
beginchar(oct"015",5u#,asc_height#,0);
italcorr asc_height#*slant+.5 if serifs: flare# else: stem# fi -2u#;
adjust_fit(0,0);
x1=x2=.5w; y2=max(.5[bar_height,x_height]+.5vair,h-x_height);
if serifs: pickup crisp.nib; pos1(flare,0); pos2(vair,0);
 y1+.5stem=h; filldraw circ_stroke z1e--z2e;  % stem and bulb
else: pickup fine.nib; pos1(stem,0); pos2(vair,0);
 top y1=h; filldraw stroke z1e--z2e; fi  % stem
penlabels(1,2); endchar;
 
cmchar "Another hyphen";
beginarithchar(oct"040"); pickup rule.nib;
lft x1=hround 1.5u-eps; x2=w-x1; y1=y2=math_axis;
draw z1--z2;  % bar
labels(1,2); endchar;
 
ligtable "-": "-" =: oct"040";  % this points to |"another hyphen"| so that
                                % {\tt---} will be typeset as {\pc---}
ligtable "`": "`" =: oct"042";  % {\tt``} and {\tt''} should become {\pc``}
ligtable "'": "'" =: oct"042";  % and {\pc''}
ligtable "!": "`" =: spanish_shriek;
ligtable "?": "`" =: spanish_query;
font_slant slant; font_x_height x_height#;
font_normal_space 9u#;
font_normal_stretch 4u#;
font_quad 18u#;
font_extra_space 9u#;
bye.