summaryrefslogtreecommitdiff
path: root/fonts/icelandic/MF/iroman.mf
blob: c1dd9812dcc51b3519dc4228b98da18b9ceea245 (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
% This is ROMAN.MF in text format, as of May 5, 1986.
% The Computer Modern Roman family of fonts (by D. E. Knuth, 1979--1985)
% ***********************************************************************
% Öslenskun 7. jan. 1988 (IROMAN.MF)
% Felld £t sp‘nsk t kn
% Breytt ligt”flum fyrir ¡slenska stafi.
% Samsvaranir eru çessar:
%    = a; ‚ = e; ¡ = i; ¢ = o; £ = u; ì = y;
%  è = P; ” = o; Ñ = D; ç = p;
%  Engin ligtafla fyrir Ð.  èarf aÐ kanna!
% 18/6/1987 b‘tt inn ligt”flu fyrir Ð.
% TekiÐ er tillit til eftirfarandi:
%     Ð   undan a,  , u, £
%     Ð   eftir e, ‚, u, £, ì, y
%
% Uppsetningu   fontum breytt 21  g£st 1987. Til aÐ halda
%   st‘rÐfr‘ÐiÄt knum inni en l¡mingarstafir fara ç  £t.
%   (èeir voru meÐ ¡ B¢kinni um Macintosh!)
% ****************************************************************
if ligs>1: font_coding_scheme:="TeX text";
  scand_lower_o=oct"074"; scand_cap_o=oct"076";
else: font_coding_scheme:=if ligs=0: "TeX typewriter text"
  else: "TeX text without f-ligatures" fi;
  scand_lower_o=oct"074"; scand_cap_o=oct"076"; fi


mode_setup; font_setup;
input greeku; % Capital Greek letters
input iceland3; % special Icelandic chars
input romanu;  % upper case (majuscules)
input romanl;  % lower case (minuscules)
input romand;  % numerals
input iromanp;  % ampersand, question marks, currency sign
input iromspl;  % lowercase specials (dotless \i, ligature \ae, etc.)
input iromspu;  % uppercase specials (\AE, \OE, \O)
input ipunct;  % punctuation symbols common to roman and italic text
input iaccent;  % accents common to roman and italic text
%if ligs>1: input romlig; fi  % letter ligatures
%if ligs>0: input comlig; fi  % ligatures common with italic text
input icomlig;
if ligs<=1: input iromsub; fi  % substitutes for ligatures

% ligtable "!": "`" =: spanish_shriek;
% ligtable "?": "`" =: spanish_query;

% Special Icelandic ligtable
ligtable "`": "`"=:oct"134";
ligtable "'": "'"=:oct"042", "?" kern 2u#, "!" kern 2u#, 
"a"=:oct"013",
"e"=:oct"014",
"i"=:oct"015",
"o"=:oct"016",
"u"=:oct"017",
"y"=:oct"031",
"d"=:oct"037",
"t"=:oct"034",
"T"=:oct"036",
"D"=:oct"040";
ligtable oct"042": "o"=:oct"033",
"x"=:oct"032";


font_slant slant; font_x_height x_height#;
if monospace: font_normal_space 9u#; % no stretching or shrinking
 font_quad 18u#;
 font_extra_space 9u#;
else: font_normal_space 6u#+2letter_fit#;
 font_normal_stretch 3u#; font_normal_shrink 2u#;
 font_quad 18u#+4letter_fit#;
 font_extra_space 2u#;
 k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
 ligtable "k": if serifs: "v": "a" kern -u#, oct"013" kern -u#, fi\\ 
  "w": "e" kern k#, oct"014" kern k#,
  "a" kern k#, oct"013" kern k#, "o" kern k#, oct"016" kern k#, 
  oct"033" kern k#,
  "c" kern k#;
 ligtable "P": oct"036": "A" kern kk#,
  "y": oct"031": "o" kern k#, oct"016" kern k#, oct"033" kern k#, "e" kern k#, 
  oct"014" kern k#, oct"037" kern k#,
  "a" kern k#, oct"013" kern k#, "." kern kk#, "," kern kk#;
 ligtable "F": "V": "W": if serifs: "o" kern kk#, oct"016" kern kk#, 
    oct"033" kern kk#,
    "e" kern kk#, oct"014" kern kk#, "u" kern kk#, oct"017" kern kk#,
    "r" kern kk#, "a" kern kk#, oct"013" kern kk#, "A" kern kkk#,
   else: "o" kern k#, oct"016" kern k#,oct"033" kern k#,"e" kern k#, oct"014" kern k#,
    "u" kern k#, oct"017" kern k#,
    "r" kern k#, "a" kern k#, oct"013" kern k#,"A" kern kk#, fi
  "K": "X": "O" kern k#, "C" kern k#, "G" kern k#, "Q" kern k#;
 ligtable "T": "y" kern if serifs: k# else: kk# fi,
               oct"031" kern if serifs: k# else: kk# fi,
  "Y": "e" kern kk#, oct"014" kern kk#, "o" kern kk#, oct"016" kern kk#,
  oct"033" kern kk#,
   "r" kern kk#, "a" kern kk#, oct"013" kern kk#, "A" kern kk#, 
   "u" kern kk#, oct"017" kern kk#;
 ligtable "O": "D": oct"040" : "X" kern k#, "W" kern k#, "A" kern k#,
   "V" kern k#, "Y" kern k#;
 if serifs: ligtable "h": "m": "n":
   "t" kern k#, "u" kern k#, oct"017" kern k#, "b" kern k#, 
   "y" kern k#, oct"031" kern k#, "v" kern k#, "w" kern k#;
 ligtable "c": "h" kern k#, "k" kern k#; fi
 ligtable "o": oct"016" : oct "033" : "b": "p": oct"034" : "e" kern -k#, 
   oct"014" kern -k#,
   "o" kern -k#, oct"016" kern -k#, oct"033" kern -k#, "x" kern k#,
   "d" kern -k#, "c" kern -k#, "q" kern -k#,
  "a": if serifs: "v" kern k#, "j" kern u#, else: "r" kern k#, fi
  oct"013": if serifs: "v" kern k#, "j" kern u#, else: "r" kern k#, fi
  "t": "y" kern k#, oct"031" kern k#,
  "u": oct"017" : "w" kern k#, oct"037" kern k#;
 ligtable "A": if serifs: "R": fi\\ "t" kern k#,
  "C" kern k#, "O" kern k#, "G" kern k#, "U" kern k#, "Q" kern k#,
  "L": "T" kern kk#, "Y" kern kk#, "V" kern kkk#, "W" kern kkk#;
 ligtable "e" : oct"014" : oct"037" kern k#; % vegna Œ-s
 ligtable oct"037" : "a" kern k#, oct"013" kern k#, "u" kern k#,
   oct"017" kern k#;
 ligtable "g": "j" kern -k#; % logjam
 ligtable "I": "I" kern -k#; fi % Richard III
 % there are ligature/kern programs for ^"f"^ in the %\tt romlig% file
 % and for ^"-"^, ^"`"^, and ^"'"^ in the %\tt comlig% file
bye.