%% %% This is file `hminlig.mf', %% generated with the docstrip utility. %% %% The original source files were: %% %% humanist.dtx (with options: `lig') %% %% Copyright 1999 Peter R. Wilson %% %% This program is provided under the terms of the %% LaTeX Project Public License distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% %% Author: Peter Wilson (CUA) %% now at: peter.r.wilson@boeing.com %% ligtable "`": "`"=:oct"134"; ligtable "'": "'"=:oct"042"; %% , "?" kern 2u#, "!" kern 2u#; ligtable "-": "-"=:oct"173"; ligtable oct"173": "-"=:oct"174"; ligtable "c": "t"=:oct"014"; ligtable "s": "t"=:oct"015"; cmchar "The ct ligature"; beginchar(oct"014", 2sb#+hstretch*(20/11x_height#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; path pth[]; pair vc[]; pickup quill; %%%%%%%%%%% C n1:=1/2(w-2pcshiftx); % actual letter width n2 := h/ascratio; % x-height x1=pcshiftx + 1/2n1; top y1 = n2; lft x2 = pcshiftx; y2 = 1/2n2; x3 = x1; bot y3 = 0; rt x4 = n1; y4 = 1/4n2; x6 = x4; %%y6 = 3/4n2; top y6 = y1; pth1 := z6..z1{left}..z2{down}..z3{right}..z4{pdir}; %%%%%%%%%%%%% T %% bar top y33=n2; n3 := n2 - top y33; %%lft x31 = n1+pcshiftx; lft x31 = n1; rt x32=w-pcshiftx; %%top y31 = y33-n3; bot y32=y33+n3; %%top y31 = y33-n3; y32=y33; y31 = y32 = y33; x33=1/2[x31,x32]; pth2 := z31--z32; % T bar n4 := top y33 - y33; x34 = x33; bot y34 = 2n4; rt x36 = w - pcshiftx; bot y36 = n4; x35 = 1/2[x34,x36]; bot y35 = 0; pth3 := z33--z34..z35..z36; % T stem %%%%%%%%%%%%%%%%% Ligature z51=z6; z55=z33; x53 = 1/2[x51,x55]; top y53 = h; vc51 := direction 0 of pth1; vc55 := direction 0 of pth3; pth4 := z51{vc51}..z53{right}..z55{vc55}; % loop %%ductus:=true; if ductus: pickup stylus; fi draw pth1; % C draw pth2; % T bar draw pth3; % T bowl draw pth4; % ligature loop ductus:=false; penlabels(1,2,3,4,5,6,14,16,17,18,31,32,33,34,35,36,100); endchar; % end of "ct" cmchar "The st ligature"; beginchar(oct"015", 2sb#+hstretch*(15/11x_height#+jut#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; path pth[]; pair vc[]; pickup quill; %%%%%%%%%%% S n1:=3/7(w-2pcshiftx-jut); % actual letter width n2 := h/ascratio; % x-height %% stem lft x1=lft x2=pcshiftx+jut; top y1=n2; bot y2=0; %% flick x4=x2; y4 = 1/2n1; %%%%%%%%%%%%% T %% bar top y33=n2; n3 := n2 - top y33; %%lft x31 = n1+pcshiftx; lft x31 = n1; rt x32=w-pcshiftx; %%top y31 = y33-n3; bot y32=y33+n3; %%top y31 = y33-n3; y32=y33; y31 = y32 = y33; x33=1/2[x31,x32]; pth2 := z31--z32; % T bar n4 := top y33 - y33; x34 = x33; bot y34 = 2n4; rt x36 = w - pcshiftx; bot y36 = n4; x35 = 1/2[x34,x36]; bot y35 = 0; pth3 := z33--z34..z35..z36; % T stem %%%%%%%%%%%%%%%%% Ligature z51=z4; z55=z33; x53 = 5/8[x51,x55]; top y53 = h; vc51 := up; vc55 := direction 0 of pth3; pth4 := z51{vc51}...z53{right}..z55{vc55}; % loop %%ductus:=true; if ductus: pickup stylus; fi draw z1--z2; % S stem draw_flatserif(1,2,srad); draw_roundserif(2,1,srad); draw pth2; % T bar draw pth3; % T bowl draw pth4; % ligature loop ductus:=false; penlabels(1,2,3,4,5,6,14,16,17,18,31,32,33,34,35,36,100); endchar; % end of "st" cmchar "Closing quotes"; beginchar(oct"042",2sb#+hstretch*(comma_width#+3dot_size#),7/8asc_height#,0); adjust_fit(0,0); pcshiftx:=sb; x1=w-pcshiftx-(0.5hstretch*dot_size); y1=y2=h; x2=x1-(2hstretch*dot_size); draw_pcomma(1,dot_size,comma_width); % right draw_pcomma(2,dot_size,comma_width); % left penlabels(1,2); endchar; % end of "''" cmchar "Opening quotes"; beginchar(oct"134",2sb#+hstretch*(comma_width#+3dot_size#),7/8asc_height#,0); adjust_fit(0,0); pcshiftx:=sb; x1=pcshiftx+(0.5hstretch*dot_size); y1=y2=h; x2=x1+(2hstretch*dot_size); draw_plq(1,dot_size,comma_width); % left draw_plq(2,dot_size,comma_width); % right penlabels(1,2); endchar; % end of "``" cmchar "Hyphen"; beginchar("-",sb#+hstretch*(0.8x_height#),x_height#,0); adjust_fit(0,0); pcshiftx:=sb/2; numeric alpha; alpha:=w/8; pickup threequarterquill; lft x21=pcshiftx+jut; rt x22=w-pcshiftx-jut; y21=y22=1/2h; z31 = z21 shifted (-jut*pdir); draw z21--z22; draw z31--z21; draw_flatserif(22,21,srad); penlabels(1,2); endchar; % end of "-" cmchar "En dash"; beginchar(oct"173",sb#+hstretch*(x_height#),x_height#,0); adjust_fit(0,0); pcshiftx:=sb/2; numeric alpha; alpha:=w/8; pickup threequarterquill; lft x21=pcshiftx+jut; rt x22=w-pcshiftx-jut; y21=y22=1/2h; z31 = z21 shifted (-jut*pdir); draw z21--z22; %%draw_roundserif(21,22,srad); draw z31--z21; draw_flatserif(22,21,srad); penlabels(1,2); endchar; % end of "--" cmchar "Em dash"; beginchar(oct"174",sb#+hstretch*(2x_height#),x_height#,0); adjust_fit(0,0); pcshiftx:=sb/2; numeric alpha; alpha:=w/8; pickup threequarterquill; lft x21=pcshiftx+jut; rt x22=w-pcshiftx-jut; y21=y22=1/2h; z31 = z21 shifted (-jut*pdir); draw z21--z22; %%draw_roundserif(21,22,srad); draw z31--z21; draw_flatserif(22,21,srad); penlabels(1,2); endchar; % end of "---" cmchar "HMIN ampersand"; beginchar("&", 2sb#+hstretch*(15/11x_height#+2jut#), asc_height#, 0); adjust_fit(0,0); numeric n[]; path pth[]; pcshiftx:=sb; pickup quill; %% alpha looking part n1 := w-2pcshiftx-jut; % actual letter width n2 := h/ascratio; % x-height n3 := 16/16n2; % height of alpha rt x1 = w-pcshiftx; bot y1=0; x3 = pcshiftx + 12/16n1; y3 = 1/2n2; lft x5 = pcshiftx + thick; y5 = 1/2[n2,h]; rt x7 = lft x5 + 1/2n1; y7 = y5; x6 = 1/2[x5,x7]; top y6 = h; lft x9 = pcshiftx; y9 = 1/2n2; rt x10 = pcshiftx + 1/2n1; bot y10 = 0; rt x12 = w - pcshiftx; y12 = y7; x4 = x6; y4 = 1/2[y9,y5]; pth1 = z1..z4..z5{up}..z6{right}..z7{down}..z9{down}..z10{right}..{up}z12; %%ductus:=true; if ductus: pickup stylus; fi draw pth1; ductus:=false; penlabels(1,2,3,4,5,6,7,8,9,10,11,12,16,17,18,19,21,22,23,24,25); endchar; % end of "&"