Plan 9 from Bell Labs’s /usr/web/sources/contrib/steve/root/sys/lib/texmf/fonts/source/jknappen/dc/dxrligtb.mf

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


% dxrligtb.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 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(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_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":
   "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#,
   lig_O_table(k#), lig_CGQ_table(k#),
         oct"020":  oct"021":
   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#,
             "e" kern kk#,
             "u" kern kk#,
             "r" kern kk#,
             "n" kern kk#,
             "v" kern kk#,
             "a" kern kk#,
             lig_A_table(kkk#),
            else:
             "o" kern k#,
             "e" kern k#,
             "u" kern k#,
             "r" kern k#,
             "n" kern k#,
             "v" kern k#,
             "a" kern k#,
             lig_A_table(kk#),
            fi
       "K":
       "X":  "O" kern 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;

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].