% This is DXRLIGTB.MF in text format, as of February 13, 1991 % % DC fonts Version 1.0 (prerelease of EC fonts) % % [ heavily borrowed from the Computer Modern Roman family of % fonts by D. E. Knuth ] % % 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 % % -- % --- % % >> % << % % `` % '' % ligtable "f": "i"=:oct"034", "f"=:oct"033", "l"=:oct"035", "'" kern itc#, "?" kern itc#, "!" kern itc#, ")" kern itc#, "]" kern itc#; ligtable oct"033": % ff "i"=:oct"036", "l"=:oct"037", "'" kern itc#, "?" kern itc#, "!" kern itc#, ")" kern itc#, "]" kern itc#; ligtable "`": "`"=:oct"020"; ligtable "'": "'"=:oct"021", "?" kern 2u#, "!" kern 2u#; ligtable "-": "-" =: oct"025"; ligtable oct"025": "-"=:oct"026"; % "---" => emdash ligtable "<": "<" =: oct"023"; % "<<" ligtable ">": ">" =: oct"024"; % ">>" % % 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_a_table (expr k) = "a" kern k, oct"241" kern k, oct"242" 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_cA_table = "A": oct"200": oct"201": oct"300": oct"301": oct"302": oct"303": oct"304": oct"305": enddef; % % % % k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of kerning ligtable "k": 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": "A" kern kk#, "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#, "e" kern kk#, "u" kern kk#, "r" kern kk#, "a" kern kk#, "A" kern kkk#, else: "o" kern k#, "e" kern k#, "u" kern k#, "r" kern k#, "a" 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, "Y": "e" kern kk#, "o" kern kk#, "r" kern kk#, "a" kern kk#, "u" kern kk#, "A" kern kk#; ligtable "O": "D": "X" kern k#, "W" kern k#, "A" kern k#, "V" kern k#, "Y" kern k#; if serifs: ligtable "h": "m": "n": "t" kern k#, lig_u_table(k#), "b" kern k#, "y" kern k#, "v" kern k#, "w" kern k#; ligtable "c": "h" kern k#, "k" kern k#; fi ligtable "o": "b": "p": lig_e_table(-k#), lig_o_table(-k#), "x" kern k#, "d" kern -k#, lig_c_table(-k#), "q" kern -k#, "a": if serifs: "v" kern k#, "j" kern u#, else: "r" kern k#, fi "t": "y" kern k#, "u": "w" kern k#; ligtable lig_cA_table 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 "g": "j" kern -k#; % logjam ligtable "I": "I" kern -k#; % Richard III