You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
341 lines
9.9 KiB
341 lines
9.9 KiB
% exrligtb.mf
|
|
%
|
|
% (c) Copyright 1995, 1996, 1997 J"org Knappen
|
|
% (c) Copyright 1990, 1992 Norbert Schwarz
|
|
%
|
|
% 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)
|
|
%
|
|
% Content:
|
|
%
|
|
% ligtable and kerning programs for roman style fonts
|
|
%
|
|
% This file should not be called for monospaced fonts !
|
|
%
|
|
% The following ligatures are integrated:
|
|
%
|
|
% fi
|
|
% fl
|
|
% ff
|
|
% ffi
|
|
% ffl
|
|
%
|
|
% --
|
|
% ---
|
|
% -<hyphenchar>
|
|
% >>
|
|
% <<
|
|
% ``
|
|
% ''
|
|
% ,,
|
|
% !` and ?`
|
|
|
|
version_check(1,0); % |version_check| was introduced in dc1.3
|
|
|
|
ligtable
|
|
"f": "i"=:oct"034",
|
|
"f"=:oct"033",
|
|
"l"=:oct"035",
|
|
"'" kern itc#,
|
|
"`" kern itc#,
|
|
oct"020" kern itc#,
|
|
oct"021" kern itc#,
|
|
"?" kern itc#,
|
|
"!" kern itc#,
|
|
")" kern itc#,
|
|
"]" kern itc#;
|
|
ligtable
|
|
oct"033": % ff
|
|
"i"=:oct"036",
|
|
"l"=:oct"037",
|
|
"'" kern itc#,
|
|
"`" kern itc#,
|
|
oct"020" kern itc#,
|
|
oct"021" kern itc#,
|
|
"?" kern itc#,
|
|
"!" kern itc#,
|
|
")" kern itc#,
|
|
"]" kern itc#;
|
|
ligtable
|
|
"`": "`"=:oct"020",
|
|
oct"020" kern 2u#,
|
|
"?" kern 2u#,
|
|
"!" kern 2u#;
|
|
|
|
ligtable
|
|
"'": "'"=:oct"021",
|
|
oct"021" kern 2u#,
|
|
"?" kern 2u#,
|
|
"!" kern 2u#;
|
|
|
|
ligtable
|
|
"-": "-" =: oct"025",
|
|
oct"177" =: oct"177"; % <hyphen><hyphenchar> => <hyphenchar>
|
|
|
|
ligtable
|
|
oct"025": "-"=:oct"026"; % "---" => emdash
|
|
|
|
ligtable "<": "<" =: oct"023"; % "<<"
|
|
ligtable ">": ">" =: oct"024"; % ">>"
|
|
ligtable ",": "," =: oct"022"; % ",,"
|
|
ligtable "!": "`" =: oct"275"; % spanish shriek
|
|
ligtable "?": "`" =: oct"276"; % spanish query
|
|
|
|
|
|
def lig_o_table (expr k) =
|
|
"o" kern k, oct"256" kern k, oct"362" kern k, oct"363" kern k,
|
|
oct"364" kern k, oct"365" kern k, oct"366" kern k,
|
|
oct"367" kern k, oct"370" kern k
|
|
enddef;
|
|
|
|
def lig_a_table (expr k) =
|
|
"a" kern k, oct"240" kern k, oct"241" kern k, oct"340" kern k,
|
|
oct"341" kern k, oct"342" kern k, oct"342" kern k,
|
|
oct"343" kern k, oct"344" kern k, oct"345" kern k,
|
|
oct"346" kern k
|
|
enddef;
|
|
|
|
def lig_c_table (expr k) =
|
|
"c" kern k, oct"242" kern k, oct"243" kern k, oct"347" kern k
|
|
enddef;
|
|
|
|
def lig_e_table (expr k)=
|
|
"e" kern k, oct"245" kern k, oct"246" kern k, oct"350" kern k,
|
|
oct"351" kern k, oct"352" kern k, oct"353" kern k
|
|
enddef;
|
|
|
|
def lig_u_table (expr k)=
|
|
"u" kern k, oct"266" kern k, oct"267" kern k, oct"371" kern k,
|
|
oct"372" kern k, oct"373" kern k, oct"374" kern k
|
|
enddef;
|
|
|
|
def lig_A_table (expr k)=
|
|
"A" kern k, oct"200" kern k, oct"201" kern k, oct"300" kern k,
|
|
oct"301" kern k, oct"302" kern k, oct"303" kern k,
|
|
oct"304" kern k, oct"305" kern k, oct"306" kern k
|
|
enddef;
|
|
|
|
def lig_O_table (expr k)=
|
|
"O" kern k, oct"216" kern k, oct"322" kern k, oct"323" kern k,
|
|
oct"324" kern k, oct"325" kern k, oct"326" kern k,
|
|
oct"327" kern k, oct"330" kern k
|
|
enddef;
|
|
|
|
def lig_CGQ_table (expr k)=
|
|
"C" kern k, "G" kern k, oct"202" kern k, oct"203" kern k,
|
|
oct"207" kern k, oct"307" kern k, "Q" kern k
|
|
enddef;
|
|
|
|
def lig_U_table (expr k)=
|
|
"U" kern k, oct"226" kern k, oct"227" kern k, oct"331" kern k,
|
|
oct"332" kern k, oct"333" kern k, oct"334" kern k
|
|
enddef;
|
|
|
|
def lig_cA_table =
|
|
"A": oct"200": oct"300": oct"301": oct"302":
|
|
oct"303": oct"304": oct"305":
|
|
enddef;
|
|
|
|
k#:=-.5u#; ku#:=-1u#; kk#:=-1.5u#; kkk#:=-2u#; % four degrees of kerning
|
|
|
|
ligtable boundarychar:
|
|
oct"020" kern -kk#, oct"021" kern -kk#, oct"022" kern -kk#,
|
|
oct"055" kern -kk#, oct"140" kern -kk#, oct"047" kern -kk#;
|
|
|
|
ligtable oct"022":
|
|
oct"015" kern 2u#, "," kern 2u#,
|
|
oct"015":
|
|
oct"022" kern 2u#,
|
|
"j" kern -kkk#, oct"032" kern -kkk#, "g" kern -ku#, oct"247" kern -ku#,
|
|
"y" kern -ku#, oct"270" kern -ku#, oct"375" kern -ku#,
|
|
"v" kern kk#, "w" kern ku#, "V" kern kkk#, "W" kern kk#,
|
|
"Y" kern kk#, oct"230" kern kk#, oct"335" kern kk#,
|
|
lig_O_table(k#), lig_CGQ_table(k#),
|
|
boundarychar kern -kk#;
|
|
|
|
ligtable oct"020":
|
|
oct"140" kern 2u#, oct"020" kern 2u#, boundarychar kern -kk#;
|
|
|
|
ligtable oct"021":
|
|
oct"047" kern 2u#, oct"021" kern 2u#, boundarychar kern -kk#;
|
|
|
|
ligtable oct"024": % ">>"
|
|
"." kern kk#, "," kern kk#;
|
|
|
|
ligtable
|
|
"k": "W" kern kk#, "V" kern kk#,
|
|
if serifs: "v": lig_a_table(-u#), fi
|
|
"w": lig_e_table(k#),
|
|
lig_a_table(k#),
|
|
lig_o_table(k#),
|
|
lig_c_table(k#);
|
|
|
|
ligtable
|
|
"P": lig_A_table(kk#),
|
|
"y": oct"270": oct"375": % \"y, \'y
|
|
lig_o_table(k#),
|
|
lig_e_table(k#),
|
|
lig_a_table(k#),
|
|
"." kern kk#,
|
|
"," kern kk#;
|
|
ligtable
|
|
"F":"V": "W":
|
|
if serifs:
|
|
"o" kern kk#,
|
|
"a" kern kk#,
|
|
"e" kern kk#,
|
|
"y" kern kk#,
|
|
"u" kern kk#,
|
|
"r" kern kk#,
|
|
"v" kern kk#,
|
|
"s" kern kk#,
|
|
"c" kern kk#,
|
|
"d" kern kk#,
|
|
"g" kern kk#,
|
|
"m" kern kk#,
|
|
"n" kern kk#,
|
|
"p" kern kk#,
|
|
"w" kern kk#,
|
|
"z" kern kk#,
|
|
oct"346" kern kk#,
|
|
oct"370" kern kk#,
|
|
lig_A_table(kkk#),
|
|
else:
|
|
"o" kern k#,
|
|
"a" kern k#,
|
|
"e" kern k#,
|
|
"y" kern k#,
|
|
"u" kern k#,
|
|
"r" kern k#,
|
|
"v" kern k#,
|
|
"s" kern k#,
|
|
"c" kern k#,
|
|
"d" kern k#,
|
|
"g" kern k#,
|
|
"m" kern k#,
|
|
"n" kern k#,
|
|
"p" kern k#,
|
|
"w" kern k#,
|
|
"z" kern k#,
|
|
oct"346" kern k#,
|
|
oct"370" kern k#,
|
|
lig_A_table(kk#),
|
|
fi
|
|
"X": lig_O_table(k#),
|
|
lig_CGQ_table(k#);
|
|
|
|
ligtable "K": if serifs:
|
|
"v" kern kk#,
|
|
"w" kern k#,
|
|
else:
|
|
"v" kern k#,
|
|
fi
|
|
lig_o_table(k#),
|
|
lig_CGQ_table(k#);
|
|
|
|
ligtable
|
|
"T": oct"224": oct"225": % \v{T}, \c{T}
|
|
"y" kern if serifs: k# else: kk# fi,
|
|
"Y": oct"230": oct"335": % \"Y, \'Y
|
|
"e" kern kk#,
|
|
"o" kern kk#,
|
|
"r" kern kk#,
|
|
"a" kern kk#,
|
|
"u" kern kk#,
|
|
"n" kern kk#,
|
|
oct"031" kern kk#, % \i
|
|
"c" kern kk#,
|
|
"d" kern kk#,
|
|
"g" kern kk#,
|
|
"p" kern kk#,
|
|
"s" kern kk#,
|
|
"v" kern kk#,
|
|
"w" kern kk#,
|
|
"x" kern kk#,
|
|
"z" kern kk#,
|
|
lig_A_table(kk#);
|
|
ligtable
|
|
"O": oct"216": oct"322": oct"323": oct"324": oct"325": oct"326": oct"330":
|
|
"D": oct"204": oct"320":
|
|
"X" kern k#,
|
|
"W" kern k#,
|
|
lig_A_table(k#),
|
|
"V" kern k#,
|
|
"Y" kern k#, oct"230" kern k#, oct"335" kern k#;
|
|
if serifs:
|
|
ligtable
|
|
"m": "n": "h":
|
|
"W" kern kk#, "V" kern kk#,
|
|
oct"253": oct"254": oct"255": oct"361": % \'n, \v{n}, \ng, \~n
|
|
"t" kern k#,
|
|
lig_u_table(k#),
|
|
"b" kern k#,
|
|
"y" kern k#,
|
|
"v" kern k#,
|
|
"w" kern k#;
|
|
ligtable
|
|
"c": oct"242": oct"243": oct"347": % \'c, \v{c}, \c{c}
|
|
"h" kern k#,
|
|
"k" kern k#;
|
|
fi
|
|
ligtable
|
|
"o": oct"256": oct"362": oct"363": oct"364": oct"365": oct"366": oct"370":
|
|
"b": "p": lig_e_table(-k#),
|
|
lig_o_table(-k#),
|
|
"x" kern k#,
|
|
"d" kern -k#,
|
|
lig_c_table(-k#),
|
|
"q" kern -k#,
|
|
"a": oct"240": oct"340": oct"341": oct"342": oct"343": oct"344": oct"345":
|
|
if serifs:
|
|
"v" kern k#,
|
|
"j" kern u#,
|
|
else:
|
|
"r" kern k#,
|
|
fi
|
|
"t": oct"264": oct"265":
|
|
"y" kern k#, oct"270" kern k#, oct"375" kern k#,
|
|
"u": oct"266": oct"267": oct"371": oct"372": oct"373": oct"374":
|
|
"w" kern k#;
|
|
ligtable
|
|
lig_cA_table
|
|
"y" kern if serifs: kk# else: k# fi,
|
|
oct"270" kern if serifs: kk# else: k# fi,
|
|
oct"375" kern if serifs: kk# else: k# fi,
|
|
oct"202": %\k{A}
|
|
"v" kern if serifs: kkk# else: k# fi,
|
|
"w" kern if serifs: kk# else: k# fi,
|
|
lig_c_table(k#),
|
|
"d" kern k#, oct"244" kern k#,
|
|
oct"236" kern k#, oct"360" kern k#,
|
|
lig_e_table(k#),
|
|
lig_o_table(k#),
|
|
"q" kern k#,
|
|
if serifs: "R": oct"217": fi
|
|
"t" kern k#, oct"264" kern k#, oct"265" kern k#,
|
|
lig_CGQ_table(k#),
|
|
lig_O_table(k#),
|
|
lig_U_table(k#),
|
|
"L": oct"210": oct"211": oct"212":
|
|
"T" kern kk#, oct"224" kern kk#, oct"225" kern kk#,
|
|
"Y" kern kk#, oct"230" kern kk#, oct"335" kern kk#,
|
|
"V" kern kkk#,
|
|
"W" kern kkk#;
|
|
ligtable "g": "j" kern -k#; % logjam
|
|
ligtable "I": "I" kern -k#; % Richard III
|
|
ligtable "e": "V" kern kk#; % eV
|
|
ligtable oct"241": % \k{a}
|
|
if serifs: "g" kern -k# , "p" kern -k#, fi\\ "w" kern k#;
|
|
ligtable oct"252": % \l
|
|
"'" kern -k#
|
|
if not serifs: ,
|
|
"a" kern k#, oct"241" kern k#, "c" kern k#, oct"242" kern k#,
|
|
"d" kern k#, "e" kern k#, oct"246" kern k#, "g" kern k#,
|
|
"o" kern k#, oct"363" kern k#, "s" kern k#, oct"261" kern k#
|
|
fi;
|
|
|
|
endinput;
|
|
|