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.
263 lines
7.4 KiB
263 lines
7.4 KiB
% excligtb.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:
|
|
%
|
|
% ligatures and kerning for "caps and small caps" fonts
|
|
%
|
|
% This file should not be called for monospaced fonts !
|
|
%
|
|
% The following ligatures are integrated:
|
|
%
|
|
% --
|
|
% ---
|
|
% -<hyphenchar>
|
|
% >>
|
|
% <<
|
|
% ``
|
|
% ''
|
|
% ,,
|
|
% !` and ?`
|
|
%
|
|
|
|
version_check(1,0); % |version_check| was introduced in dc1.3
|
|
|
|
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
|
|
|
|
|
|
ligtable
|
|
"`": "`"=:oct"020",
|
|
oct"020" kern 2u#,
|
|
"?" kern 2u#,
|
|
"!" kern 2u#;
|
|
|
|
ligtable
|
|
"'": "'"=:oct"021",
|
|
oct"021" kern 2u#,
|
|
"?" kern 2u#,
|
|
"!" kern 2u#;
|
|
%
|
|
%
|
|
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
|
|
enddef;
|
|
def lig_co_table =
|
|
"o": oct"256": oct"362": oct"363":
|
|
oct"364": oct"365": oct"366":
|
|
oct"367"
|
|
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"343" kern k, oct"344" kern k, oct"345" kern k,
|
|
oct"346" 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
|
|
enddef;
|
|
def lig_ca_table =
|
|
"a": oct"241": oct"242": oct"340":
|
|
oct"341": oct"342":
|
|
oct"343": oct"344": oct"345":
|
|
oct"346"
|
|
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_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_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_cA_table =
|
|
"A": oct"200": oct"201": oct"300": oct"301": oct"302":
|
|
oct"303": oct"304": oct"305"
|
|
enddef;
|
|
|
|
def lig_cO_table =
|
|
"O": oct"216": oct"322": oct"323": oct"324": oct"325":
|
|
oct"326": oct"330"
|
|
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"330" 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;
|
|
|
|
%
|
|
%
|
|
%
|
|
%
|
|
k#:=-.5u#; ku#:=-1.0u#; 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#,
|
|
"y" kern ku#, oct"270" kern ku#, oct"375" kern ku#,
|
|
"v" kern ku#, "w" kern k#, "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
|
|
"P":
|
|
"T":
|
|
"Y": "a" kern kk#,
|
|
lig_A_table(kk#);
|
|
ligtable
|
|
"F":
|
|
"V":
|
|
"W":
|
|
if serifs:
|
|
lig_a_table(kkk#),
|
|
lig_A_table(kkk#),
|
|
else:
|
|
lig_a_table(kk#),
|
|
lig_A_table(kk#),
|
|
fi
|
|
"K":
|
|
"X": lig_o_table(k#),
|
|
lig_O_table(k#),
|
|
lig_c_table(k#),
|
|
lig_CGQ_table(k#),
|
|
"g" kern k#, oct"247" kern k#,
|
|
"q" kern k#;
|
|
ligtable
|
|
"O":
|
|
"D": "x" kern k#,
|
|
"X" kern k#,
|
|
"w" kern k#,
|
|
"W" kern k#,
|
|
lig_a_table(k#),
|
|
lig_A_table(k#),
|
|
"v" kern k#,
|
|
"V" kern k#,
|
|
"y" kern k#, oct"375" kern k#, oct"270" kern k#,
|
|
"Y" kern k#, oct"335" kern k#, oct"230" kern k#;
|
|
ligtable
|
|
lig_cA_table:
|
|
if serifs:
|
|
"R":
|
|
fi
|
|
lig_c_table(k#),
|
|
lig_CGQ_table(k#),
|
|
lig_o_table(k#),
|
|
lig_O_table(k#),
|
|
"g" kern k#, oct"247" kern k#,
|
|
lig_u_table(k#),
|
|
lig_U_table(k#),
|
|
"q" kern k#,
|
|
"L":
|
|
"T" kern kk#, oct"224" kern kk#, oct"225" kern kk#,
|
|
"t" kern kk#, oct"264" kern kk#, oct"265" kern kk#,
|
|
"Y" kern kk#, oct"230" kern kk#, oct"335" kern kk#,
|
|
"y" kern kk#, oct"270" kern kk#, oct"375" kern kk#,
|
|
"V" kern kkk#,
|
|
"v" kern kkk#,
|
|
"W" kern kkk#,
|
|
"w" kern kkk#;
|
|
ligtable
|
|
"I":
|
|
"I" kern -k#; % Richard III
|
|
|
|
k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning
|
|
|
|
ligtable
|
|
"p":
|
|
"t":
|
|
"y": lig_a_table(kk#);
|
|
ligtable
|
|
"f":
|
|
"v":
|
|
"w":
|
|
if serifs:
|
|
lig_a_table(kkk#)
|
|
else:
|
|
lig_a_table(kk#)
|
|
fi,
|
|
"k":
|
|
"x": lig_o_table(k#),
|
|
lig_c_table(k#),
|
|
"g" kern k#, oct"247" kern k#,
|
|
"q" kern k#;
|
|
ligtable
|
|
lig_co_table:
|
|
"d": "x" kern k#,
|
|
"w" kern k#,
|
|
lig_a_table(k#),
|
|
"v" kern k#,
|
|
"y" kern k#, oct"270" kern k#, oct"375" kern k#;
|
|
ligtable
|
|
lig_ca_table:
|
|
if serifs: "r": fi
|
|
lig_c_table(k#),
|
|
lig_o_table(k#),
|
|
"g" kern k#, oct"247" kern k#,
|
|
lig_u_table(k#),
|
|
"q" kern k#,
|
|
"l": "'" kern kk#,
|
|
"t" kern kk#, oct"264" kern kk#, oct"265" kern kk#,
|
|
"y" kern kk#, oct"270" kern k#, oct"375" kern k#,
|
|
"v" kern kkk#,
|
|
"w" kern kkk#;
|
|
ligtable
|
|
"i": "i" kern -k#; % skiing
|
|
|
|
|
|
endinput;
|
|
|