diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/bookhands/cminu.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/bookhands/cminu.mf | 787 |
1 files changed, 787 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf b/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf new file mode 100644 index 00000000000..805ffa88127 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/bookhands/cminu.mf @@ -0,0 +1,787 @@ +%% +%% This is file `cminu.mf', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% carolmin.dtx (with options: `maj') +%% +%% 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 "CMIN letter A"; +beginchar("A", 2sb#+caprat*hstretch*(3/4x_height#+jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +path pth[]; +pair pr[]; +pickup quill; +n1 := w - 2pcshiftx -jut; % effective letter width +x1 = pcshiftx + 6/8n1; top y1=h; +rt x2 = pcshiftx + n1; bot y2=0; +z16 = 1/6[z2,z1]; +rt x6 = x16; y6=y16; +lft x4 = pcshiftx; y4 = 1/2h; +pth1 := z1{down}..z2; +pr1 := direction 1 of pth1; +z20 = z2 shifted -10pr1; + +z11 = point 3/13 of pth1; z15 = point 10/13 of pth1; +lft x13 = pcshiftx; y13=1/4h; +%%ductus:=true; +if ductus: + pickup stylus; +else: + % draw stem + draw pth1; + draw_roundserif(1,2,srad); + draw_roundserif(2,20,srad); + % draw bowl +%% draw z1{-pdir}..z4{down}..z6{pdir}; + draw z11{-pdir}..z13{down}..z15{pdir}; +fi +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,11,12,13,14,15,100); +endchar; % end "A" + +cmchar "CMIN letter B"; +beginchar("B", 2sb#+caprat*hstretch*(3/4x_height#+clubjut#), + caprat*asc_height#, 0); +adjust_fit(0,0); +numeric n[]; +path pth[]; +pcshiftx := sb; +pickup quill; +n1:=w-2pcshiftx; % actual letter width +n2:=h/ascratio; % top of bowl +%%ductus:=true; +lft x1 = pcshiftx+clubjut; top y1=h; +x3 = x1; y3=1/2n2; +rt x5 = w-pcshiftx; y5=y3; +x4 = 1/2[x3,x5]; bot y4=0; +x6=x4; top y6=n2; +pth1 := z1..z3{down}..z4{right}.. z5{up}; +z98=(0,3/4n2); z99=(w,y98); +pth2 := z98--z99; +z7 = pth1 intersectionpoint pth2; +if ductus: + pickup stylus; +fi +draw z1..z3{down}..z4{right}..z5{up}..z6{left}..z7{-pdir}; +draw_clubserif(1,3,0.75); +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,100); +endchar; % end "B" + +cmchar "CMIN letter C"; +beginchar("C", 2sb#+caprat*hstretch*(5/8x_height#), + caprat*x_height#, 0); +adjust_fit(0,0); +numeric n[]; +pcshiftx := sb; +pickup quill; +n1:=w-2pcshiftx; % actual letter width +n2:=6/5w-2pcshiftx; % width of full bowl +x1=pcshiftx + 1/2n1; top y1 = h; +lft x2 = pcshiftx; y2 = 1/2h; +x3 = x1; bot y3 = 0; +rt x4 = w-pcshiftx; y4 = 1/4h; +x24 = x4; y24 = 3/4h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z24..z1{left}..z2{down}..z3{right}..z4{pdir}; +ductus:=false; +penlabels(1,2,3,4,5,6,14,16,17,18,100); +endchar; % end "C" + +cmchar "CMIN letter D"; +beginchar("D", 2sb#+caprat*hstretch*(5/8x_height#+jut#), + caprat*asc_height#, 0); +adjust_fit(0,0); +numeric n[]; +path pth[]; +pcshiftx := sb; +pickup quill; +n1 = h/ascratio; % x-height +rt x1=w-pcshiftx-jut; top y1=h; +x2 = x1; bot y2=0; +x3 = x1; y3 = 1/4n1; +lft x5 = pcshiftx; y5=1/2n1; +x4 = 1/2[x3,x5]; bot y4 = 0; +x6=x4; top y6 = n1; +x7=x3; y7=3/4n1; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); +%%draw_flatserif(1,2,srad); +draw_clubserif(1,2,0.25); +draw_roundserif(2,1,srad); +draw z3..z4{left}..z5{up}..z6{right}..z7; +ductus:=false; +penlabels(0,1,2,3,4,5,6,7,8,100); +endchar; % end "D" + +cmchar "CMIN letter E"; +beginchar("E", sb#+caprat*hstretch*(8/8x_height#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +path pth[]; +pickup quill; +n1 := w-pcshiftx; % actual letter width +n2 := 6/8n1; % width of bowl +x1 = pcshiftx + 5/8n2; top y1=h; +lft x2 = pcshiftx; y2 = 1/2h; +x3 = pcshiftx + 1/2n2; bot y3 = 0; +rt x4 = pcshiftx + n2; y4 = 1/4h; +%%z98=(0,3/8h); z99=(w,y98); +z98=(0,2/8h); z99=(w,y98); +pth1 := z98--z99; +pth2 := z1{left}..z2{down}..z3{right}; +z7 = pth1 intersectionpoint pth2; +rt x9 = w-pcshiftx; y9 = 3/4h; +z8=1/2[z7,z9]; + +z70 = z7 shifted 10pdir; +z17 = whatever[z7,z70]; +%%x17 = w-pcshiftx; +top y17 = h; + +rt x27=w-pcshiftx; top y27=h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z7{pdir}..z1{left}..z2{down}..z3{right}..z4{pdir}; +%%draw z7{pdir}..z8{right}..z9{pdir}; +%%draw z7--z17; +draw z7--z27; +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,17,70,100); +endchar; % end "E" + +cmchar "CMIN letter F"; +beginchar("F", 2sb#+caprat*hstretch*(3/4x_height#+jut#), + (asc_height#), 0); +adjust_fit(0,0); +numeric n[]; +pcshiftx := sb; +pickup quill; +n1 := h/ascratio; % x-height +%% stem +lft x1=lft x2=pcshiftx+jut; top y1=n1; bot y2=0; +%% flick +x4=x2; y4 = 1/2n1; +rt x6=w-pcshiftx; y6 = 2/3h; +x5 = 2/3[x4,x6]; top y5=h; +%% bar +z14=1/2[z4,z1]; +rt x16 = w -pcshiftx; top y16 = 1/2[y14,y6]; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % stem +draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad); +draw z4{up}...z5{right}...z6; % top +draw z14{right}..z16{pdir}; % bar +ductus:=false; +ductus:=false; +penlabels(1,2,3,4,5,6,7,14,15,16,100); +endchar; % end "F" + +cmchar "CMIN letter G"; +beginchar("G", 2sb#+caprat*hstretch*(5/4x_height#), + caprat*x_height#, desc_depth#); +adjust_fit(0,0); +path pth[]; +pair vec[]; +numeric n[]; +pcshiftx := sb; +pickup quill; +n1 := 4/5w - 2pcshiftx; % width of top o +%% top O +x1 = x3 = pcshiftx + 1/2n1; top y1=h; bot y3=1/8h; +lft x4 = pcshiftx; rt x2 = pcshiftx+n1; y2 = y4 = 1/2[y1,y3]; + +%% top flick +lft x11 = rt x1; y11=y1; +rt x13 = w-pcshiftx; y13 = h; + +%% bottom +z31=z3; +x33 = w-pcshiftx; y33 = -1/2d; +x35=x31; bot y35 = -d; +rt x36 = lft x4; y36 = 1/2[y35,y33]; + +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1..z2..z3..z4..cycle; % top O +draw z11{right}..z13{pdir}; % flick +draw z31{right}..z33{down}..z35{left}..z36; +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,11,12,13,31,32,33,34,35,36,100); +endchar; % end "G" + +cmchar "CMIN letter H"; +beginchar("H", 2sb#+caprat*hstretch*(6/8x_height#+clubjut#), + caprat*asc_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +numeric n[]; +%% stem +lft x1=lft x2=pcshiftx+jut; +top y1=h; bot y2=0; +%% bowl +z3=1/2[z2,z1]; +rt x5 = w-pcshiftx; y5=y3; +x4=1/2[x3,x5]; top y4 = h/ascratio; +%%lft x6=x4; bot y6=0; +x6=1/2[x4,x5]; +bot y6=0; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % stem +%%draw_flatserif(1,2,srad); +draw_clubserif(1,2,0.5); +draw_roundserif(2,1,srad); +draw z3{pdir}..z4..z5..z6{-pdir}; + +ductus:=false; +penlabels(1,2,3,4,5,6,100); +endchar; % end "H" + +cmchar "CMIN letter I"; +beginchar("I", 2sb#+caprat*hstretch*(thick#+2jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +lft x1=lft x2=pcshiftx+jut; +top y1=h; bot y2=0; +%%ductus:=true; +draw_tstem(1,2,srad); +draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad); +ductus:=false; +penlabels(1,2,100); +endchar; % end "I" + +cmchar "CMIN letter J"; +beginchar("J", sb#+caprat*hstretch*(3/8x_height#), + caprat*x_height#, desc_depth#); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +pickup quill; +%% stem +rt x1 = w-pcshiftx; top y1 = h; +x2=x1; y2=-1/2d; +%% bottom hook +lft x3 = 0; bot y3 = -d; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1--z2; % stem +draw_flatserif(1,2,srad); +draw z2{down}..z3{-pdir}; % hook +ductus:=false; +penlabels(1,2,3,100); +endchar; % end "J" + +cmchar "CMIN letter K"; +beginchar("K", 2sb#+caprat*hstretch*(7/8x_height#+clubjut#), + caprat*asc_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +path pth[]; +numeric n[]; +pickup quill; +%% stem +n1 = h/ascratio; % x-height +lft x1=lft x2=pcshiftx+clubjut; +y1=h; bot y2=0; +%% top arm +%%z3=(x1,1/2n1); +x3 = x1; top y3 = 1/2n1; +rt x5=5/8[x1,w-pcshiftx]; top y5=n1; +x4=1/2[x3,x5]; top y4=n1; +pth1 := z3{pdir}..z5{up}; +%% lower arm +pth2 := (rt x1,0)--(rt x1,h); +z13 = pth1 intersectionpoint pth2; +pickup threequarterquill; +lft x14 = x13; bot y14 = y13; +rt x7=w-pcshiftx; bot y7=0; +pickup quill; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % stem +draw_clubserif(1,2,0.5); +draw_roundserif(2,1,srad); +draw pth1; % upper arm +pickup threequarterquill; +%%draw z14{down}..z7{-ppdir}; % lower arm +%%draw z14{down}..z7; % lower arm +draw z14{-ppdir}..z7{right}; % lower arm +pickup quill; +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,13,14,100); +endchar; % end "K" + +cmchar "CMIN letter L"; +beginchar("L", 2sb#+caprat*hstretch*(thick#+clubjut#+jut#), + caprat*asc_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +lft x1=pcshiftx+clubjut; top y1=h; +x2=x1; bot y2 =0; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); +draw_clubserif(1,2,0.5); +draw_roundserif(2,1,srad); +ductus:=false; +penlabels(1,2,3,4,100); +endchar; % end "L" + +cmchar "CMIN letter M"; +beginchar("M", 2sb#+caprat*hstretch*(x_height#+2jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +path pth[]; +pickup quill; +%% left stem +lft x1=pcshiftx+jut; top y1=h; +x2=x1; bot y2=0; +%% start of bowl +x13=x1; y13=3/4h; +%% bottom of right and middle stems +rt x6 = w -pcshiftx - jut; y6=y2; +z4 = 1/2[z2,z6]; +%% top of middle and right stems +x3=x4; y3=y1; +x5=x6; y5=y13; +%% top of bowls +x14=2/3[x13,x3]; top y14 = h; +x33=x4; y33=y13; +x34=2/3[x33,x5]; y34 = y14; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % left half +draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad); +draw z13{pdir}..z14{right}..z33{down}--z4; +draw_roundserif(4,3,srad); +draw z33{pdir}..z34{right}..z5{down}--z6; +draw_roundserif(6,5,srad); +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,13,14,33,34,100); +endchar; % end "M" + +cmchar "CMIN letter N"; +beginchar("N", 2sb#+caprat*hstretch*(5/8x_height#+2jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +%% left stem +lft x1=pcshiftx+jut; top y1=h; +x2=x1; bot y2=0; +x13=x1; y13=3/4h; +%% right stem +rt x4 = w-pcshiftx-jut; y4=y2; +x3 = x4; y3 = y13; +x14 = 2/3[x13,x3]; top y14 = h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % left stem +draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad); +draw z13{pdir}..z14{right}..z3{down}--z4; +draw_roundserif(4,3,srad); +ductus:=false; +penlabels(1,2,3,4,5,6,13,14,100); +endchar; % end "N" + +cmchar "CMIN letter O"; +beginchar("O", 2sb#+caprat*hstretch*(3/4x_height#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +lft x1=pcshiftx; rt x3=w-pcshiftx; y1=y3=h/2; +x2=x4=w/2; top y2=h+o; bot y4=-o; +draw z1..z2..z3..z4..cycle; +z5=(pcshiftx,-o); +obowl(5, w-2pcshiftx, h+2o); +%%ductus:=true; +if ductus: + pickup stylus; + draw obfirst; draw obsecond; draw obouter; draw obinner; +else: +%% fill obouter; unfill obinner; +fi +ductus:=false; +penlabels(1,2,3,4,5,100); +endchar; % end "O" + +cmchar "CMIN letter P"; +beginchar("P", 2sb#+caprat*hstretch*(3/4x_height#+jut#), + caprat*x_height#, desc_depth#); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +pickup quill; +%% stem +lft x1=lft x2=pcshiftx+jut; +top y1=h; bot y2=-d; +%% bowl % from "d" +z3=3/4[(x1,0),z1]; +rt x5 = w-pcshiftx; y5=1/2h; +x4=1/2[x3,x5]; top y4 = h; +x6=x4; bot y6=0; +z7=1/4[(x1,0),z1]; + +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % stem +draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad) +draw z3{pdir}..z4{right}..z5{down}..z6{left}..z7; % bowl (from d) +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,100); +endchar; % end "P" + +cmchar "CMIN letter Q"; +beginchar("Q", 2sb#+caprat*hstretch*(3/4x_height#+jut#), + caprat*x_height#, desc_depth#); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +pickup quill; +%% right stem +rt x1=w-pcshiftx-jut; top y1=h; +x2=x1; bot y2=-d; +%% bowl +z3=1/4[(x1,0),z1]; +lft x5=pcshiftx; y5=1/2h; +x4=1/2[x3,x5]; bot y4=0; +x6=x4; top y6=h; +z7=3/4[(x1,0),z1]; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); +%%draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad); +draw z3{-pdir}..z4{left}..z5{up}..z6{right}..z7; +ductus:=false; +penlabels(0,1,2,3,4,5,6,7,8,100); +endchar; % end "Q" + +cmchar "CMIN letter R"; +beginchar("R", 2sb#+caprat*hstretch*(7/8x_height#+jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +pickup quill; +%% stem +lft x1=lft x2=pcshiftx+jut; +top y1=h; bot y2=0; +%% bowl +z3=3/4[z2,z1]; +rt x5 = w-pcshiftx; y5=y3; +x4=1/2[x3,x5]; top y4 = h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % stem +draw_flatserif(1,2,srad); +draw_roundserif(2,1,srad); +draw z3{pdir}..z4{right}..z5{pdir}; +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,100); +endchar; % end "R" + +cmchar "CMIN letter S"; +beginchar("S", 2sb#+caprat*hstretch*(3/4x_height#+clubjut#), + caprat*asc_height#, 0); +adjust_fit(0,0); +numeric n[]; +pcshiftx := sb; +pickup quill; +n1 := h/ascratio; % x-height +%% stem +lft x1=lft x2=pcshiftx+clubjut; top y1=n1; bot y2=0; +%% flick +x4=x2; y4 = 1/2n1; +rt x6=w-pcshiftx; y6 = 2/3h; +x5 = 2/3[x4,x6]; top y5=h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw_tstem(1,2,srad); % stem +draw_clubserif(1,2,0.5); +draw_roundserif(2,1,srad); +draw z4{up}...z5{right}...z6; +ductus:=false; +penlabels(1,2,3,4,5,6,7,11,17,20,26,27,28,100); +endchar; % end "S" + +cmchar "CMIN letter T"; +beginchar("T", 2sb#+caprat*hstretch*(x_height#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +pickup quill; +%% bar +top y3=h; n3 := h - top y3; +lft x1 = pcshiftx; rt x2=w-pcshiftx; +%%top y1 = y3-n3; bot y2=y3+n3; +y1 = y3-n3; y2=y3; +n1 := w; % width of bowl +n2 := h; % height of bowl +x3=1/2[x1,x2]; +lft x4 = pcshiftx + 1/8n1; y4 = 1/2h; +x5=x3; bot y5 = 0; +rt x6 = pcshiftx + 3/4n1; top y6 = 1/4h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1{pdir}..z3..z2{pdir}; % bar +draw z3..z4{down}..z5{right}..z6{pdir}; +ductus:=false; +penlabels(1,2,3,4,5,6,11,12,100); +endchar; % end "T" + +cmchar "CMIN letter U"; +beginchar("U", 2sb#+caprat*hstretch*(5/8x_height#+2jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +numeric n[]; +pickup quill; +%% left stem +lft x1 = pcshiftx + jut; top y1 = h; +x13=x1; y13=1/3h; +rt x3=w-pcshiftx-jut; y3=y1; +x4=x3; bot y4=0; +z33=1/4[z4,z3]; % start of bowl +x14=1/3[x1,x3]; bot y14=0; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1--z13{down}..z14{right}..z33{pdir}; +draw_flatserif(1,13,srad); +draw_tstem(3,4,srad); % right stem +draw_flatserif(3,4,srad); +draw_roundserif(4,3,srad); +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,11,13,14,16,33,100); +endchar; % end "U" + +cmchar "CMIN letter V"; +beginchar("V", 2sb#+caprat*hstretch*(3/4x_height#+jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +%% left stem +lft x1 = pcshiftx + jut; top y1 = h; +x13=x1; y13=1/3h; +rt x3=w-pcshiftx-jut; y3=y1; +x4=x3; bot y4=0; +z33=1/4[z4,z3]; % start of bowl +x14=1/3[x1,x3]; bot y14=0; +rt x23=w-pcshiftx; y23=3/4h; +lft x26=x14; top y26=h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1--z13{down}..z14{right}; % left stem +draw_flatserif(1,13,srad); +draw z14{pdir}..z23{up}..z26; + +ductus:=false; +penlabels(1,2,3,4,5,11,13,14,23,26,100); +endchar; % end "V" + +cmchar "CMIN letter W"; +beginchar("W", 2sb#+caprat*hstretch*(x_height#+2jut#), + caprat*x_height#, 0); +adjust_fit(0,0); +pcshiftx := sb; +pickup quill; +%% left stem +lft x1 = pcshiftx + jut; top y1 = h; +x13=x1; y13=1/3h; +rt x5=w-pcshiftx-jut; y5=y1; +x6=x5; bot y6=0; +z53=1/4[z6,z5]; % start of bowl +z3 = 1/2[z1,z5]; +z33=(x3,y13); +x14=1/3[x1,x3]; bot y14=0; +x34=1/3[x3,x5]; y34=y14; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1--z13{down}..z14{right}..z33{pdir}; % left +draw_flatserif(1,13,srad); +draw z3--z33{down}..z34{right}..z53{pdir}; % middle +draw_flatserif(3,33,srad); +draw_tstem(5,6,srad); % right stem +draw_flatserif(5,6,srad); +draw_roundserif(6,5,srad); +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,11,13,14,33,34,53,16,100); +endchar; % end "W" + +cmchar "CMIN letter X"; +beginchar("X", 2sb#+caprat*hstretch*(x_height#), + caprat*x_height#, 0); +adjust_fit(0,0); +path pth[]; +numeric n[]; +pcshiftx := sb; +pickup quill; +n1 := w-2pcshiftx; % total width +n2 := thick; % triangle side +%% diag top left to bottom right +lft x1=pcshiftx; bot y1=2/3h; +x2=pcshiftx+1/7n1; top y2=h; +x5=pcshiftx+11/14n1; bot y5=-1/4d; +rt x6=pcshiftx+n1; top y6=1/6h; +z25 = 1/3[z2,z5]; +pth1 := z2{right}..z5{right}; +z251 = point 1/3 of pth1; +z252 = point 2/3 of pth1; +%% diag bottom left to top right +lft x10 = -w + 2pcshiftx; bot y10=-d; +x50=x5; top y50=h; +rt x60 = w -pcshiftx; bot y60=2/3h; +x40=pcshiftx+8/14n1; y40=h; + +x150=x2; bot y150 = 0; +lft x160 = pcshiftx; top y160=1/3h; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1..z2{right}..z5{right}..z6; % top left to bottom right +%%draw z10{1/2pdir}..z25..z50{right}..z60; % bottom left to top right +draw z251..z50{right}..z60; % middle to top right +draw z252..z150{left}..z160; % middle to bottom left +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,10,25,251,252,40,50,150,60,160,100); +endchar; % end "X" + +cmchar "CMIN letter Y"; +beginchar("Y", 2sb#+caprat*hstretch*(7/8x_height#+jut#), + caprat*x_height#, desc_depth#); +adjust_fit(0,0); +pcshiftx := sb; +path pth[]; +numeric n[]; +pickup quill; +%% left stem top +lft x1 = pcshiftx + jut; top y1 = h; +bot y3 = 0; +%% right stem +rt x5=w-pcshiftx; top y5 = h; +lft x9=-1/2w; bot y9 = -d; +pth1 := z9{right}..z5{up}; +pth2 := (0,y3)--(w,y3); +z99 = pth1 intersectionpoint pth2; +x3 = x99; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw z1{down}..z3; % left stem +draw_flatserif(1,3,srad); +draw pth1; % right stem +draw_flatserif(5,3,srad); +ductus:=false; +penlabels(1,2,3,4,5,6,7,8,9,10,100); +endchar; % end "Y" + +cmchar "CMIN letter Z"; +beginchar("Z", 2sb#+caprat*hstretch*(x_height#), + caprat*x_height#, 0); +adjust_fit(0,0); +numeric n[]; +path pth[]; +pcshiftx := sb; +pickup quill; +%% top bar ends +top y12 = h; +n1 := h - y12; +lft x1 = pcshiftx; rt x2 = w-pcshiftx; +%%y1 = y12-n1; y2=y12+n1; +y1 = y12-n1; y2=y12; +x12 = 1/2[x1,x2]; +pth1 := z1{pdir}..z12{right}..z2{pdir}; +%% bottom bar ends +bot y34 = 0; +x3=x1; x4=x2; +%%y3=y34-n1; y4=y34+n1; +y3=y34-n1; y4=y34; +x34 = 1/2[x3,x4]; +pth2 := z3{pdir}..z34{right}..z4{pdir}; +%% diagonal +z5=z3; +pth3 := z5--(3/4w,h+jut); +z6 = pth3 intersectionpoint pth1; +%%ductus:=true; +if ductus: + pickup stylus; +fi +draw pth1; draw pth2; % bars +draw z5--z6; +ductus:=false; +penlabels(1,2,3,4,5,6,10o,10i,20o,20i,100); +endchar; % end "Z" + |