%% %% This is file `imajpunct.mf', %% generated with the docstrip utility. %% %% The original source files were: %% %% inslrmaj.dtx (with options: `punct') %% %% 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 %% cmchar "Exclamation mark"; beginchar("!", 2sb#+hstretch*(thick#+trijut#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; pickup quill; z1=(w/2,h); z3=(x1, 1/2dot_size); z2=(x1, y3+3/2dot_size); draw z1--z2; draw_pdot(3,dot_size); penlabels(1,2,3); endchar; % end of "!" cmchar "Question mark"; beginchar("?", 2sb#+hstretch*(x_height#), asc_height#, 0); adjust_fit(0,0); pcshiftx := sb; numeric n[]; path pth[]; pickup quill; n1 := w-2pcshiftx; % actual character width n2 := 1/3h; % height of top bowl n3 := n2; % height of bottom bowl %% top bowl z1=(pcshiftx, h-n2); obowl(1, n1, n2); pth1 := obouter; %% bottom bowl z2=(x1,y1-n3); obowl(2, n1, n3); pth2 := obouter; %% stem and dot lft x4 = x1 + 4/4thick; z5=(x4,1/2dot_size); y4=y5+3/2dot_size; z4o=(lft x4, y4); z4i=(rt x4, y4); %%ductus:= true; if ductus: pickup stylus; draw pth1; draw pth2; draw z2wt--z4; draw_pdot(5, dot_size); else: fill z1maxlo{ppdir}..z1minlo{pdir}..z1maxro{-ppdir}.. %% z1minro..z2maxli{-ppdir}.. z2minli.. {down}z4i--z4o{up}.. z2minlo.. %% z1minri..z1maxri{ppdir}.. z1maxri{ppdir}..z1minli{-pdir}..z1maxli{-ppdir}--cycle; draw_pdot(5, dot_size); fi penlabels(1,2,3,4,5); endchar; % end of "?" cmchar "Comma"; beginchar(",",2sb#+hstretch*(comma_width#+dot_size#),x_height#,0); adjust_fit(0,0); pcshiftx:=sb; x1=w-pcshiftx-(0.5hstretch*dot_size); y1=h/2; draw_pcomma(1,dot_size,comma_width); penlabels(1); endchar; % end of "," cmchar "Period"; beginchar(".",2sb#+hstretch*(dot_size#),x_height#,0); pcshiftx:=sb; x1=w/2; y1=h/2; draw_pdot(1,dot_size); penlabels(1); endchar; % end of "." cmchar "Colon"; beginchar(":",2sb#+hstretch*(dot_size#),x_height#,0); pcshiftx:=sb; x1=x2=w/2; y1=2/3h; y2=1/3h; draw_pdot(1,dot_size); draw_pdot(2,dot_size); penlabels(1,2); endchar; % end ":" cmchar "Semicolon"; beginchar(";",2sb#+hstretch*(comma_width#+dot_size#),x_height#,0); adjust_fit(0,0); pcshiftx:=sb; x1=x2=w-pcshiftx-(0.5hstretch*dot_size); y1=2/3h; y2=1/3h; draw_pdot(1,dot_size); draw_pcomma(2,dot_size,comma_width); penlabels(1,2); endchar; % end of ";" cmchar "Apostrophe"; beginchar("'",2sb#+hstretch*(comma_width#+dot_size#),4/3x_height#,0); adjust_fit(0,0); pcshiftx:=sb; x1=w-pcshiftx-(0.5hstretch*dot_size); y1=h; draw_pcomma(1,dot_size,comma_width); penlabels(1); endchar; % end of "'" cmchar "Reverse apostrophe"; beginchar("`",2sb#+hstretch*(comma_width#+dot_size#),4/3x_height#,0); adjust_fit(0,0); pcshiftx:=sb; x1=pcshiftx+(0.5hstretch*dot_size); y1=h; draw_plq(1,dot_size,comma_width); penlabels(1); endchar; % end of "`"