% dxiligtb.mf
%
% (c) Copyright 1995, 1996 J"org Knappen
% (c) Copyright 1990, 1992 Norbert Schwarz
%
% This file is part of dcfonts version 1.3
%
% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
% copyrite.txt for further information
%
% You find some documentation in dcdoc.tex (needs LaTeX2e)
%
% Content:
%
% ligtable and kerning for italic fonts
%
% This file should not be called for monospaced fonts !
%
% The following ligatures are integrated:
%
% fi
% fl
% ff
% ffi
% ffl
%
% --
% ---
% -<hyphenchar>
% >>
% <<
% ``
% ''
% ,,
% !` and ?`
version_check(0,9); % |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";
ligtable
"'": "'"=:oct"021",
"?" 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_n_table (expr k)=
"n" kern k, oct"253" kern k, oct"254" kern k, oct"255" kern k,
oct"361" 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;
%
def lig_cO_table =
"O": oct"216": oct"322": oct"323": oct"324": oct"325":
oct"326": oct"330"
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":
"v" kern kk#, "w" kern kk#,
"T" kern kk#, "V" kern kkk#, "W" kern kkk#, "Y" kern kk#,
lig_O_table(k#), lig_CGQ_table(k#),
oct"020": oct"021":
boundarychar kern -kk#;
ligtable oct"024": % ">>"
"." kern kk#, "," kern kk#;
ligtable
"d": oct"244": "w": "l": oct"250": oct"251":
"l" kern +u#, oct"250" kern +u#, oct"251" kern +u#;
ligtable
"F": "W": "V":
"o" kern kk#,
"e" kern kk#, oct"246" kern kk#,
"u" kern kk#,
"r" kern kk#, "n" kern kk#, "v" kern kk#,
"a" kern kk#, oct"241" kern kk#,
lig_A_table(kkk#),
"K":
"X": lig_O_table(k#),
lig_CGQ_table(k#);
ligtable
"T": oct"224": oct"225":
"y" kern kk#,
"Y": oct"335": oct"230":
"e" kern kk#,
"o" kern kk#,
"r" kern kk#,
"a" kern kk#,
"u" kern kk#,
"P":
lig_A_table(kk#);
ligtable
lig_cO_table:
"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#;
ligtable
lig_cA_table:
"y" kern k#, oct"270" kern k#, oct"375" kern k#,
oct"201": "R": oct"217":
lig_n_table(k#),
"l" kern k#, oct"250" kern k#, oct"251" kern k#,
"r" kern k#,
lig_u_table(k#),
"m" kern k#,
"t" kern k#, oct"264" kern k#, oct"265" kern k#,
"i" kern k#, oct"355" kern k#,
"h" kern k#,
"b" kern k#,
"k" kern k#,
"v" kern k#,
"w" kern k#,
lig_CGQ_table(k#),
lig_O_table(k#),
lig_U_table(k#),
"L": oct"210": oct"211":
"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#,
"b":
"c": oct"242": oct"243":
"e": oct"245": oct"246": oct"350": oct"351": oct"352": oct"353":
"o": oct"362": oct"363": oct"364": oct"365": oct"366":
oct"376":
"p":
"r": lig_e_table(-u#),
lig_a_table(-u#),
lig_o_table(-u#),
"d" kern -u#, oct"236" kern -u#,
lig_c_table(-u#),
"g" kern -u#, oct"247" kern -u#,
"q" kern -u#;
ligtable
"n": "'" kern kkk#;
ligtable oct"252": "'" kern -k#;
endinput;
|