diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/archaic/givbc10.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/archaic/givbc10.mf | 921 |
1 files changed, 0 insertions, 921 deletions
diff --git a/Master/texmf-dist/fonts/source/archaic/givbc10.mf b/Master/texmf-dist/fonts/source/archaic/givbc10.mf deleted file mode 100644 index e2e190fa50c..00000000000 --- a/Master/texmf-dist/fonts/source/archaic/givbc10.mf +++ /dev/null @@ -1,921 +0,0 @@ -%% -%% This is file `givbc10.mf', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% greek4cbc.dtx (with options: `up') -%% ------------------------------------------------------------------ -%% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net -%% Copyright 1999--2005 Peter R. Wilson -%% -%% This work may be distributed and/or modified under the -%% conditions of the Latex Project Public License, either -%% version 1.3 of this license or (at your option) any -%% later version. -%% The latest version of the license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of -%% LaTeX version 2003/06/01 or later. -%% -%% This work has the LPPL maintenance status "author-maintained". -%% -%% This work consists of the files listed in the README file. -%% ------------------------------------------------------------------ - %%% GIVBC10.MF Computer Greek 4 century BC font 10 point design size. - -if unknown cmbase: input cmbase fi - -font_identifier:="GIVBC"; font_size 10pt#; - -u#:=20/36pt#; % unit width -letter_fit#:=0pt#; % extra space added to all sidebars - -body_height#:=270/36pt#; % height of tallest characters -asc_height#:=250/36pt#; % height of lowercase ascenders -cap_height#:=246/36pt#; % height of caps -fig_height#:=232/36pt#; % height of numerals -x_height#:=155/36pt#; % height of lowercase without ascenders -desc_depth#:=70/36pt#; % depth of lowercase descenders -half_height#:=1/2cap_height#; % half the height of caps - -side#:=cap_height#; % Height and width of the square -thickfudge:=1/9; -thick#:=thickfudge*side#; % thickness of all lines in the font - -rule_thickness#:=.4pt#; % thickness of lines - -cap_stem#:=thick#; % thickness of majuscule stems - -o#:=8/36pt#; % amount of overshoot for curves -apex_o#:=thin#; % amount of overshoot for diagonal junctions -apex_corr#=0pt#; % fine tuning of overshoot - -slant:=0; % tilt ratio $(\Delta x/\Delta y)$ - -serifs:=false; % should serifs and bulbs be attached? -monospace:=false; % should all characters have the same width? - -dot_size#:=38/36pt#; % size of dots -square_dots:=false; % should dots be square? - -boolean whole_font; % try generating a complete font? -whole_font:=false; - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% MACRO SECTION %%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -def makebox(text rule) = - for y=0,half_height,cap_height,body_height,x_height,-desc_depth,-body_depth: - rule((l,y)t_,(r,y)t_); endfor % horizontals - for x=l,r: rule((x,-body_depth)t_,(x,body_height)t_); endfor % verticals - for x=u*(1+floor(1/u)) step u until r-1: - rule((x,-body_depth)t_,(x,body_height)t_); endfor % more verticals - if charic<>0: - rule((r+charic*pt,h.o_),(r+charic*pt,.5h.o_)); fi % italic correction -enddef; - - -def proofpcbb(suffix $)(expr xoff, yoff) = -if proofing > 0: - x$bl = x$ - xoff; y$bl = y$ - yoff; % Bottom Left Hand Corner - z$br = (x$bl+cap_height, y$bl); % BRHC - z$tr = (x$bl+cap_height, y$bl+cap_height); % TRHC - z$tl = (x$bl, y$bl+cap_height); % TLHC - z$bc = 1/2[z$bl,z$br]; z$tc = 1/2[z$tl,z$tr]; % horizontal mid points - pair hc, vc; - hc = (2u,0); vc = (0,2u); - pickup pensquare scaled 2; - for s = z$bl, z$br, z$tr, z$tl, z$bc, z$tc: - draw s-hc--s+hc; - draw s-vc--s+vc; - endfor -fi -enddef; - - -let cm_font_setup=font_setup; % Knuth's original font_setup - - -def greek_font_setup= % contains special stuff for archaic Greek font - define_pixels(u); - define_pixels(side,thick,half_height); - let adjust_fit=normal_adjust_fit; - define_whole_pixels(letter_fit); - define_whole_vertical_pixels(body_height,asc_height, - cap_height,x_height,desc_depth); - body_depth:=desc_depth+body_height-asc_height; - define_pixels(dot_size); - shrink_fit:=1+hround(2letter_fit#*hppp)-2letter_fit; - if not string mode: - if mode<=smoke: - shrink_fit:=0; - fi - fi -enddef; - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% END OF MACROS %%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -font_coding_scheme:="ASCII caps and miniscules"; - -mode_setup; - -greek_font_setup; - -numeric pcshiftx#; % x value of LHS of box wrt origin of char box -define_pixels(pcshiftx); - - -font_slant slant; -font_x_height x_height#; -if monospace: font_normal_space 9u#; % no stretching or shrinking - font_quad 18u#; - font_extra_space 9u#; -else: font_normal_space 6u#+2letter_fit#; - font_normal_stretch 3u#; font_normal_shrink 2u#; - font_quad 18u#+4letter_fit#; - font_extra_space 2u#; -fi - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -cmchar "Greek 394BC letter alpha (a)"; -beginchar("a", 2u#+side#+2thick#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u+thick; -y100 = h/2; x100 = pcshiftx+y100; % center point -numeric alpha[], hor, vert, hypot, theta; -pair greek[]; -hor := 0.5h; vert := h-thick; -greek1 = (hor, vert); -theta = 270 + angle(greek1); - % for left leg -penpos1(thick,theta); penpos2(thick,theta); - % and for the right leg -penpos3(thick,-theta); penpos4(thick,-theta); -rt x1r=pcshiftx; lft x4l=x1r+side; -bot y1r=bot y4l=0; -top y3r= top y2l=h; -x3r=x2l = 0.5[x1r,x4l]; -z0=whatever[z1r,z2r]=whatever[z3l,z4l]; - % draw the legs -filldraw z1l--z2l--z4r--z4l--z0--z1r--cycle; - % now for the bar -y5l=y6l=hround(1/3h); -y5r-y5l=y6r-y6l=thick; -penpos5(whatever, angle(z2-z1)); penpos6(whatever, angle(z3-z4)); -z5=whatever[z1,z2]; z6=whatever[z3,z4]; -penstroke z5e--z6e; % bar line -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,100); endchar; - - -cmchar "Greek 394BC letter beta (b)"; -beginchar("b",4u#+5/9side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := 2u; -y100=h/2; x100=pcshiftx+y100; % square center -penpos1(thick,0); penpos2(thick,0); -y2l=0; y1l=h; x1l=x2l=pcshiftx; -numeric alpha, long, short, hypot; -long=(w-2pcshiftx); short=h/4; hypot=short++long; -alpha := hypot/long; -penpos3(alpha*thick,90); penpos4(alpha*thick,90); -penpos5(alpha*thick,90); penpos6(alpha*thick,90); -z3l=z2l; -x4l=w-pcshiftx; y4l=0.25[y2l,y1l]; -z5r=z4l; -x6l=x2r; y6l=0.5[y2l,y1l]; -penpos7(alpha*thick,90); penpos8(alpha*thick,90); -penpos9(alpha*thick,90); penpos10(alpha*thick,90); -z7r=z6l; -x8l=x4l; y8l=0.75[y2l,y1l]; -z9r=z8l; -z10r=z1l; -z11=whatever[z2r,z1r]=whatever[z3r,z4r]; % bottom bowl and stem -z12=whatever[z3r,z4r]=whatever[z6l,z5l]; % bottom bowl inner -z13=whatever[z5r,z6r]=whatever[z7l,z8l]; % between the bowls -z14=whatever[z7r,z8r]=whatever[z9l,z10l]; % top bowl inner -z15=whatever[z2r,z1r]=whatever[z9l,z10l]; % top bowl and stem -filldraw z1l--z2l--z4l--z13--z8l--cycle; -unfilldraw z6l--z12--z11--cycle; -unfilldraw z7r--z15--z14--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,100); -endchar; - - -cmchar "Greek 394BC letter gamma (g)"; -beginchar("g",2u#+thick#+2/3side#, cap_height#, 0); -adjust_fit(0, 0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -penpos1(thick,0); penpos2(thick,0); -x1l=x2l=pcshiftx; top y1l=h; bot y2l=0; -filldraw stroke z1e--z2e; -penpos3(thick,90); penpos4(thick,90); -y3r=y4r=y1l; x3l=x1l; x4l=w-pcshiftx; -filldraw stroke z3e--z4e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,100); endchar; - - -cmchar "Greek 394BC letter delat (d)"; -beginchar("d", 2u#+side#+2thick#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u+thick; -y100 = h/2; x100 = pcshiftx+y100; % center point -numeric alpha, hor, vert, hypot, theta; -pair greek[]; -hor := 0.5h; vert := h-thick; -greek1 = (hor, vert); -theta = 270 + angle(greek1); - % for left leg -penpos1(thick,theta); penpos2(thick,theta); - % and for the right leg -penpos3(thick,-theta); penpos4(thick,-theta); -rt x1r=pcshiftx; lft x4l=x1r+side; -bot y1r=bot y4l=0; -top y2l= top y3r=h; -x3r=x2l = 0.5[x1r,x4l]; -z0=whatever[z1r,z2r]=whatever[z3l,z4l]; - % now for the bar -penpos5(thick,90); penpos6(thick,90); -bot y5l=bot y6l=0; -x5l=pcshiftx; x6l=w-pcshiftx; -z7=whatever[z1l,z2l]=whatever[z5l,z6l]; -z8=whatever[z3r,z4r]=whatever[z5l,z6l]; -z9=whatever[z1r,z2r]=whatever[z5r,z6r]; -z10=whatever[z3l,z4l]=whatever[z5r,z6r]; -filldraw z7--z2l--z8--cycle; -unfilldraw z9--z0--z10--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,7,8,9,10,100); endchar; - - -cmchar "Greek 394BC letter epsilon (e)"; -beginchar("e", 2u#+2/3side#+2thick#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % center point -penpos1(thick,0); penpos2(thick,0); -lft x1l=lft x2l=pcshiftx; top y1=h; bot y2=0; -filldraw stroke z1e--z2e; % stem -penpos5(thick,90); penpos6(thick,90); -x5=x1; y5=y6=h/2; rt x6=pcshiftx + 2/3side; -filldraw stroke z5e--z6e; -penpos3(thick,90); penpos4(thick,90); -x3=x1; top y3r=top y4r=h; x4=x6+thick; -filldraw stroke z3e--z4e; -penpos7(thick,90); penpos8(thick,90); -x7=x1; bot y7l=bot y8l=0; x8=x6+2thick; -filldraw stroke z7e--z8e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,100); endchar; % end of "E" - - -cmchar "Greek 394BC letter zeta (z)"; -beginchar("z", 2u#+side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % center of square -numeric alpha, hor, vert, hypot; -vert=h; hor=4/5side; hypot=vert++hor; -alpha=hypot/vert; -penpos1(thick,90); penpos2(thick,90); penpos3(alpha*thick, 0); -penpos4(alpha*thick, 0); -top y1r=h; lft x1=pcshiftx; -y2=y1; rt x2=x3; -rt x3r=x1+4/5side;; top y3=h; x4l=x1; bot y4=0; -filldraw stroke z1e--z2e; % top bar -filldraw stroke z3e--z4e; % diagonal -penpos8(thick,90); penpos9(thick,90); -x8=x4; bot y8l=0; -x9=pcshiftx+side; y9=y8; -filldraw stroke z8e--z9e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,9,100); endchar; - - -cmchar "Greek 394BC letter eta (h)"; -beginchar("h", 4u#+side#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := 2u; -y100 = h/2; x100 = pcshiftx + y100; % center point -penpos1(thick,0); penpos2(thick,0); -lft x1l=lft x2l=pcshiftx; bot y1=0; top y2=h; -filldraw stroke z1e--z2e; -penpos3(thick,0); penpos4(thick,0); -rt x3r= rt x4r= x1l+side; bot y3=0; top y4=h; -filldraw stroke z3e--z4e; -penpos5(thick,90); penpos6(thick,90); -x5=x1; x6=x3; y5=y6=h/2; -filldraw stroke z5e--z6e; -proofpcbb(100, y100, y100); -labels(1,2,3,4,5,6,100); endchar; - - -cmchar "Greek 394BC letter theta (T)"; -beginchar("T", 2u#+side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % square center -numeric alpha; alpha=0.75; -x2r=pcshiftx; x4r=x2r+h; y2r=y4r=y100; -y1r=h; y3r=0; x1r=x3r=x100; -x2l=x2r+thick; x4l=x4r-thick; y2l=y4l=y2r; -y1l=y1r-thick; y3l=y3r+thick; x1l=x3l=x1r; -filldraw z1r..z2r..z3r..z4r..cycle; -unfilldraw z1l..z2l..z3l..z4l..cycle; -x12=x100-alpha*thick; x14=x100+alpha*thick; y12=y14=y100; -y11=y100+alpha*thick; y13=y100-alpha*thick; x11=x13=x100; -path p; -p= z11..z12..z13..z14..cycle; -filldraw p; filldraw p; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,100); endchar; - - -cmchar "Greek 394BC letter iota (i)"; -beginchar("i", 4u#+thick#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := 2u; -y100 = h/2; x100 = pcshiftx + 0.5thick; % center point -penpos1(thick,0); penpos2(thick,0); -x1=x2=hround(w/2); top y1=h; bot y2=0; -filldraw stroke z1e--z2e; % vertical stem -proofpcbb(100, y100, y100); -penlabels(1, 2, 100); -endchar; - - -cmchar "Greek 394BC letter kappa (k)"; -beginchar("k", 2u#+2/3side#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % square center -penpos1(thick,0); penpos2(thick,0); -lft x1l=lft x2l=pcshiftx; - top y1=h; bot y2=0; - filldraw stroke z1e--z2e; % left stem -numeric hor, vert, theta[]; -pair greek[]; -hor := 2/3side; vert := side/2; -greek1 = (hor,vert); -theta1=270+angle(greek1); -penpos3(thick,theta1); penpos4(thick,theta1); -x3l=x2r; y3l=side/2; -y4l=h; x4r=x1l+2/3side; -vert := -side/4; -greek2 = (hor,vert); -theta2=270+angle(greek2); -penpos5(thick,theta2); penpos6(thick,theta2); -z5r=z3l; -x6l=x4r; y6l=side/4; -z0=whatever[z3r,z4r]=whatever[z5l,z6l]; -filldraw z3l--z4l--z4r--z0--z6l--z6r--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,100); endchar; - - -cmchar "Greek 394BC letter lambda (l)"; -beginchar("l", 2u#+side#+2thick#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := u+thick; -y100 = h/2; x100 = pcshiftx+y100; % center point -numeric alpha[], hor, vert, hypot, theta; -pair greek[]; -hor := 0.5h; vert := h-thick; -greek1 = (hor, vert); -theta = 270 + angle(greek1); - % for left leg -penpos1(thick,theta); penpos2(thick,theta); - % and for the right leg -penpos3(thick,-theta); penpos4(thick,-theta); -rt x1r=pcshiftx; lft x4l=x1r+side; -bot y1r=bot y4l=0; -top y3r= top y2l=h; -x3r=x2l = 0.5[x1r,x4l]; -z0=whatever[z1r,z2r]=whatever[z3l,z4l]; - % draw the legs -filldraw z1l--z2l--z4r--z4l--z0--z1r--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,100); endchar; % end of "L" - - -cmchar"Greek 394BC letter mu (m)"; -beginchar("m", 2u#+side#+2thick#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u+thick; -y100=h/2; x100=pcshiftx+y100; % square center -numeric alpha, hor, vert, hypot, theta[]; -pair greek[]; -hor := 3thick; vert := side; -greek1 = (hor, vert); -theta1 = 270 + angle(greek1); -penpos1(thick,theta1); penpos2(thick,theta1); -z1r=(pcshiftx,0); z2l=(pcshiftx+2thick,h); -penpos3(thick,-theta1); penpos4(thick,-theta1); -z3l=(pcshiftx+side,0); z4r=(pcshiftx+side-2thick,h); -z0=z100; -theta2 = 270 + angle(z4r-z0); -penpos5(thick,-theta2); penpos6(thick,-theta2); -z5r=z0; z6r=z2l; -penpos7(thick,theta2); penpos8(thick,theta2); -z7l=z0; z8l=z4r; -z9=whatever[z1r,z2r]=whatever[z5l,z6l]; -z10=whatever[z5l,z6l]=whatever[z7r,z8r]; -z11=whatever[z7r,z8r]=whatever[z3l,z4l]; -filldraw z1l--z2l--z0--z4r--z3r--z3l--z11--z10--z9--z1r--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,7,8,9,10,100); endchar; - - -cmchar "Greek 394BC letter nu (n)"; -beginchar("n", 4u#+side#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := 2u; -y100 = h/2; x100 = pcshiftx + y100; % center point -numeric hor, vert, theta; -pair greek[]; -hor = side-thick; vert = h; -greek1=(hor,vert); -theta=270 + angle(greek1); -penpos1(thick,0); penpos2(thick,0); -z1l=(pcshiftx,0); z2l=(pcshiftx,h); -penpos3(thick,0); penpos4(thick,0); -z3r=(pcshiftx+side,0); z4r=(pcshiftx+side,h); -penpos5(thick,-theta); penpos6(thick,-theta); -z5l=z3r; z6r=z2l; -z7=whatever[z1r,z2r]=whatever[z5l,z6l]; -z8=whatever[z5r,z6r]=whatever[z3l,z4l]; -filldraw z1l--z2l--z8--z4l--z4r--z3r--z7--z1r--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,100); endchar; - - -cmchar "Greek 394BC letter xi (x)"; -beginchar("x", 2u#+side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -penpos1(thick,0); penpos2(thick,0); -z1=(x100,0); z2=(x100,h); -filldraw stroke z1e--z2e; -penpos3(thick,90); penpos4(thick,90); -z3r=(pcshiftx,h); z4r=(pcshiftx+side,h); -filldraw stroke z3e--z4e; -penpos5(thick,90); penpos6(thick,90); -z5=(pcshiftx,h/2); z6=(pcshiftx+side,h/2); -filldraw stroke z5e--z6e; -penpos7(thick,90); penpos8(thick,90); -z7l=(pcshiftx,0); z8l=(pcshiftx+side,0); -filldraw stroke z7e--z8e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,100); -endchar; - - -cmchar "Greek 394BC letter omicron (o)"; -beginchar("o", 2u#+side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % square center -x2r=pcshiftx; x4r=x2r+h; y2r=y4r=y100; -y1r=h; y3r=0; x1r=x3r=x100; -x2l=x2r+thick; x4l=x4r-thick; y2l=y4l=y2r; -y1l=y1r-thick; y3l=y3r+thick; x1l=x3l=x1r; -filldraw z1r..z2r..z3r..z4r..cycle; -unfilldraw z1l..z2l..z3l..z4l..cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,100); endchar; - - -cmchar "Greek 394BC letter pi (p)"; -beginchar("p", 4u#+side#, cap_height#, 0); -adjust_fit(0, 0); -pcshiftx := 2u; -y100 = h/2; x100 = pcshiftx + y100; % center point -penpos1(thick,0); penpos2(thick,0); -x1l=x2l=pcshiftx; top y1l=h; bot y2l=0; -filldraw stroke z1e--z2e; -penpos3(thick,90); penpos4(thick,90); -y3r=y4r=y1l; x3l=x1l; x4l=w-pcshiftx; -filldraw stroke z3e--z4e; -penpos5(thick,0); penpos6(thick,0); -x5r=x6r=x4; top y5=h; bot y6=h/2; -filldraw stroke z5e--z6e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,100); endchar; - - -cmchar "Greek 394BC letter rho (r)"; -beginchar("r", 2u#+5/9side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % square center -penpos1(thick,0); penpos2(thick,0); - top lft z1l=(pcshiftx,h); bot lft z2l=(pcshiftx,0); -filldraw stroke z1e--z2e; % vertical stem -penpos3(thick,90); penpos4(thick,0); penpos5(thick,-90); -top y3r=top y1; x3r=x1r; -bot y5r=5/9[y1,y2]; x5=x3; -x4r=x1l+5/9side; y4=0.5[y5r,y3r]; -filldraw z3r{right}..z4r{down}..z5r{left}--z5l{right}..z4l{up}..z3l{left}--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,100); -endchar; - - -cmchar "Greek 394BC letter sigma (s)"; -beginchar("s", 2u#+2/3side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx+y100; % square center -pair greek[]; -numeric theta[]; -numeric hor, vert; -hor := 2/3side; vert := 1/3h; -greek1=(hor,vert); -theta1=270+angle(greek1); -penpos1(thick,-theta1); penpos2(thick,-theta1); -penpos7(thick,theta1); penpos8(thick,theta1); -hor := 2/3side-thick; vert := h/2 - h/3; -greek2=(hor,vert); -theta2=270-angle(greek2); -penpos3(thick,theta2); penpos4(thick,theta2); -penpos5(thick,-theta2); penpos6(thick,-theta2); -y1l=0; x1r=pcshiftx+2/3side; -z2l=(pcshiftx,h/3); -z3l=z2l; -z4r=(pcshiftx+2/3side-thick, h/2); -z5r=z4r; -z6l=(pcshiftx,2/3h); -z7l=z6l; -y8l=h; x8r=x1r; -z10=whatever[z1r,z2r]=whatever[z3r,z4r]; -z11=whatever[z3l,z4l]=whatever[z5l,z6l]; -z12=whatever[z5r,z6r]=whatever[z7r,z8r]; -filldraw z1l--z2l--z11--z6l--z8l--z8r--z12--z4r--z10--z1r--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,10,11,12,100); endchar; - - -cmchar "Greek 394BC letter tau (t)"; -beginchar("t",2u#+side#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % square center -numeric hor, vert, theta; -numeric alpha[]; pair greek[]; -alpha1=h-thick; -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,0); z2=(w/2,alpha1); -filldraw stroke z1e--z2e; -penpos3(thick,90); penpos4(thick,90); -z3r=(pcshiftx,alpha1); z4r=(w/2,alpha1); -filldraw stroke z3e--z4e; -hor := w/2; vert := h/5; -greek1=(hor,vert); -theta = 270 + angle(greek1); -penpos5(thick,theta); -y5l=h; x5r=w-pcshiftx; -filldraw z4l{right}..{greek1}z5r--z5l{-greek1}..{left}z4r--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,100); endchar; - - -cmchar "Greek 394BC letter upsilon (y)"; -beginchar("y", 2u#+side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % center of square -numeric alpha, theta; -numeric hor, vert; -pair greek[]; -alpha=h/3; -hor := h; vert := 0.75h; -greek1 = (hor,vert); greek2 = (-hor, -vert); -greek3 = (-hor,vert); greek4 = (hor, -vert); -theta = 270 + angle(greek1); -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,0); z2=(w/2,alpha); -penpos3(thick,theta); -y3l=h; x3r=w-pcshiftx; -penpos4(thick,-theta); -y4r=h; x4l=pcshiftx; -filldraw z1l--z1r--z2r{up}..{greek1}z3r--z3l{greek2}..{down}z2l--cycle; -filldraw z1l--z1r--z2r{up}..{greek3}z4r--z4l{greek4}..{down}z2l--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,100); endchar; % End of "U" - - -cmchar "Greek 394BC letter chi (X)"; -beginchar("X", 2u#+side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % center of square -numeric theta; -theta = 270+45; -penpos1(thick,theta); penpos2(thick,theta); -x1l=pcshiftx; y1r=0; x2r=pcshiftx+side; y2l=h; -filldraw stroke z1e--z2e; -penpos3(thick,-theta); penpos4(thick,-theta); -x3l=pcshiftx; y3r=h; x4r=pcshiftx+side; y4l=0; -filldraw stroke z3e--z4e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,100); endchar; - - -cmchar "Greek 394BC letter phi (f)"; -beginchar("f", 2u#+2/3side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,0); z2=(w/2,h); -z0=(w/2,h/2); -numeric alpha; -alpha := 1/3h; -y3o=y3i=y5i=y5o=h/2; -x3o=x0-alpha; x3i=x3o+thick; x5o=x0+alpha; x5i=x5o-thick; -x4o=x4i=x6i=x6o=w/2; -y4o=y0+alpha; y4i=y4o-thick; y6o=y0-alpha; y6i=y6o+thick; -unfilldraw z3i..z4i..z5i..z6i..cycle; -filldraw z3o..z4o..z5o..z6o..cycle; -filldraw stroke z1e--z2e; filldraw stroke z1e--z2e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,100); -endchar; - - -cmchar "Greek 394BC letter psi (P)"; -beginchar("P", 2u#+5/6side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -numeric alpha, beta; -numeric hor, vert, theta; -pair greek; -alpha=5/6; % scale factor -beta=1/3alpha*side+thick; % arm seperation height -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,0); z2=(w/2,h); -filldraw stroke z1e--z2e; -hor := w/2; vert := h-beta; -greek = (hor,vert); -theta=270+angle(greek); -penpos3(thick,theta); penpos4(thick,theta); -z3l=(w/2,beta); y4l=alpha*h; x4r=w-pcshiftx; -penpos5(thick,-theta); penpos6(thick,-theta); -z5r=z3l; x6l=pcshiftx; y6r=y4l; -z10=whatever[z1r,z2r]=whatever[z3r,z4r]; -z11=whatever[z1l,z2l]=whatever[z5l,z6l]; -filldraw z3l--z4l--z4r--z10--cycle; % right arm -filldraw z5r--z6r--z6l--z11--cycle; % left arm -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,10,11,100); -endchar; - - -cmchar "Greek 394BC letter omega (O)"; -beginchar("O", 2u#+4/3side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -penpos1(thick,90); penpos2(thick,90); penpos3(thick,90); penpos4(thick,90); -z1l=(pcshiftx,0); z4l=(w-pcshiftx,0); -x2l = w/2-side/4; x3l=w/2+side/4; y2l=y3l=0; -numeric theta, hor, vert; -pair greek[]; -hor := x2r-pcshiftx; vert := h; -greek1=(hor,vert); greek2=(-hor,-vert); -greek3=(-hor,vert); greek4=(hor,-vert); -theta = 270+angle(greek1); -penpos5(thick,-theta); penpos9(thick,theta); -z5r=z2l; z9l=z3l; -penpos6(thick,0); penpos8(thick,0); -z6l=(w/2-side/2, h/2); z8r=(w/2+side/2, h/2); -penpos7(thick,90); -z7r=(w/2,h); -path p[]; -p1=z5l{greek3}..z6l{up}..{right}z7r; -p2=z7r{right}..z8r{down}..{greek2}z9r; -p3=z1r--z4r; -z10 = p3 intersectionpoint p1; -z11 = p3 intersectionpoint p2; -filldraw z1r--z10{greek3}..z6l{up}..z7r{right}..z8r{down}..{greek2}z11--z4r - --z4l--z3l{greek1}..z8l{up}..z7l{left}..z6r{down}..{greek4}z2l--z1l--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,9,10,11,100); -endchar; - - -cmchar "Greek 394BC letter beta (rough, B)"; -beginchar("B",4u#+2/3side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := 2u; -y100=h/2; x100=pcshiftx+y100; % square center -numeric beta; -beta := side/10; % amount to extend top and bottom -penpos1(thick,0); penpos2(thick,0); -y2l=-beta; y1l=h+beta; x1l=x2l=pcshiftx; -numeric alpha, long, short, hypot; -long=(w-2pcshiftx); short=h/4; hypot=short++long; -alpha := hypot/long; -penpos3(alpha*thick,90); penpos4(alpha*thick,90); -penpos5(alpha*thick,90); penpos6(alpha*thick,90); -z3l=z2l; -x4l=w-pcshiftx; y4l=0.25[y2l,y1l]; -z5r=z4l; -x6l=x2r; y6l=0.5[y2l,y1l]; -penpos7(alpha*thick,90); penpos8(alpha*thick,90); -penpos9(alpha*thick,90); penpos10(alpha*thick,90); -z7r=z6l; -x8l=x4l; y8l=0.75[y2l,y1l]; -z9r=z8l; -z10r=z1l; -z11=whatever[z2r,z1r]=whatever[z3r,z4r]; % bottom bowl and stem -z12=whatever[z3r,z4r]=whatever[z6l,z5l]; % bottom bowl inner -z13=whatever[z5r,z6r]=whatever[z7l,z8l]; % between the bowls -z14=whatever[z7r,z8r]=whatever[z9l,z10l]; % top bowl inner -z15=whatever[z2r,z1r]=whatever[z9l,z10l]; % top bowl and stem -filldraw z1l--z2l--z4l--z13--z8l--cycle; -unfilldraw z6l--z12--z11--cycle; -unfilldraw z7r--z15--z14--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,100); -endchar; - - -cmchar"Greek 394BC letter mu (rough, M)"; -beginchar("M", 2u#+side#+2thick#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u+thick; -y100=h/2; x100=pcshiftx+y100; % square center -numeric alpha, hor, vert, hypot, theta[]; -pair greek[]; -hor := 3thick; vert := side; -greek1 = (hor, vert); -theta1 = 270 + angle(greek1); -numeric beta; -beta := thick; % extra depth below baseline -penpos1(thick,theta1); penpos2(thick,theta1); -z1r=(pcshiftx,-beta); z2l=(pcshiftx+2thick,h); -penpos3(thick,-theta1); penpos4(thick,-theta1); -z3l=(pcshiftx+side,0); z4r=(pcshiftx+side-2thick,h); -z0=z100; -theta2 = 270 + angle(z4r-z0); -penpos5(thick,-theta2); penpos6(thick,-theta2); -z5r=z0; z6r=z2l; -penpos7(thick,theta2); penpos8(thick,theta2); -z7l=z0; z8l=z4r; -z9=whatever[z1r,z2r]=whatever[z5l,z6l]; -z10=whatever[z5l,z6l]=whatever[z7r,z8r]; -z11=whatever[z7r,z8r]=whatever[z3l,z4l]; -filldraw z1l--z2l--z0--z4r--z3r--z3l--z11--z10--z9--z1r--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,7,8,9,10,100); endchar; - - -cmchar "Greek 394BC letter nu (rough, N)"; -beginchar("N", 4u#+side#, cap_height#,0); -adjust_fit(0,0); -pcshiftx := 2u; -y100 = h/2; x100 = pcshiftx + y100; % center point -numeric hor, vert, theta; -pair greek[]; -hor = side-thick; vert = h; -greek1=(hor,vert); -theta=270 + angle(greek1); -numeric beta; -beta := thick; % extra extensions of the legs -penpos1(thick,0); penpos2(thick,0); -z1l=(pcshiftx,-beta); z2l=(pcshiftx,h); -penpos3(thick,0); penpos4(thick,0); -z3r=(pcshiftx+side,0); z4r=(pcshiftx+side,h+beta); -penpos5(thick,-theta); penpos6(thick,-theta); -z5l=z3r; z6r=z2l; -z7=whatever[z1r,z2r]=whatever[z5l,z6l]; -z8=whatever[z5r,z6r]=whatever[z3l,z4l]; -filldraw z1l--z2l--z8--z4l--z4r--z3r--z7--z1r--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,7,8,100); endchar; - - -cmchar "Greek 394BC letter rho (rough, R)"; -beginchar("R", 2u#+2/3side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % square center -numeric beta; -beta := side/10; % extra top and bottom extensions -penpos1(thick,0); penpos2(thick,0); - top lft z1l=(pcshiftx,h+beta); bot lft z2l=(pcshiftx,-beta); -filldraw stroke z1e--z2e; % vertical stem -penpos3(thick,90); penpos4(thick,0); penpos5(thick,-90); -top y3r=top y1; x3r=x1r; -bot y5r=5/9[y1,y2]; x5=x3; -x4r=x1l+5/9side; y4=0.5[y5r,y3r]; -filldraw z3r{right}..z4r{down}..z5r{left}--z5l{right}..z4l{up}..z3l{left}--cycle; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,100); -endchar; - - -cmchar "Greek 394BC letter upsilon (rough, Y)"; -beginchar("Y", 2u#+6/5side#, cap_height#, 0); -adjust_fit(0,0); -pcshiftx := u; -y100=h/2; x100=pcshiftx+y100; % center of square -numeric beta; -beta := side/10; % extra at top and bottom -numeric alpha, theta; -numeric hor, vert; -pair greek[]; -alpha=h/3; -hor := h; vert := 0.75h; -greek1 = (hor,vert); greek2 = (-hor, -vert); -greek3 = (-hor,vert); greek4 = (hor, -vert); -theta = 270 + angle(greek1); -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,-beta); z2=(w/2,alpha); -penpos3(thick,theta); -y3l=h+beta; x3r=w-pcshiftx; -penpos4(thick,-theta); -y4r=h+beta; x4l=pcshiftx; -filldraw z1l--z1r--z2r{up}..{greek1}z3r--z3l{greek2}..{down}z2l--cycle; -filldraw z1l--z1r--z2r{up}..{greek3}z4r--z4l{greek4}..{down}z2l--cycle; -proofpcbb(100, y100, y100); -penlabels(0,1,2,3,4,5,6,100); endchar; % End of "u" - - -cmchar "Greek 394BC letter phi (rough, F)"; -beginchar("F", 2u#+4/5side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -numeric beta; -beta := side/10; % extra at top and bottom -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,-beta); z2=(w/2,h+beta); -z0=(w/2,h/2); -numeric alpha; -alpha := 2/5side; -y3o=y3i=y5i=y5o=h/2; -x3o=x0-alpha; x3i=x3o+thick; x5o=x0+alpha; x5i=x5o-thick; -x4o=x4i=x6i=x6o=w/2; -y4o=y0+alpha; y4i=y4o-thick; y6o=y0-alpha; y6i=y6o+thick; -unfilldraw z3i..z4i..z5i..z6i..cycle; -filldraw z3o..z4o..z5o..z6o..cycle; -filldraw stroke z1e--z2e; filldraw stroke z1e--z2e; -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,100); -endchar; - - -cmchar "Greek 394BC letter psi (rough, Q)"; -beginchar("Q", 2u#+side#, cap_height#,0); -adjust_fit(0, 0); -pcshiftx := u; -y100 = h/2; x100 = pcshiftx + y100; % center point -numeric alpha, beta; -numeric hor, vert, theta; -pair greek; -alpha=1; % scale factor -beta=1/3alpha*side+thick; % arm seperation height -numeric gamma; -gamma := side/10; % extra at top and bottom -penpos1(thick,0); penpos2(thick,0); -z1=(w/2,-gamma); z2=(w/2,h+gamma); -filldraw stroke z1e--z2e; -hor := w/2; vert := h-beta; -greek = (hor,vert); -theta=270+angle(greek); -penpos3(thick,theta); penpos4(thick,theta); -z3l=(w/2,beta); y4l=alpha*h; x4r=w-pcshiftx; -penpos5(thick,-theta); penpos6(thick,-theta); -z5r=z3l; x6l=pcshiftx; y6r=y4l; -z10=whatever[z1r,z2r]=whatever[z3r,z4r]; -z11=whatever[z1l,z2l]=whatever[z5l,z6l]; -filldraw z3l--z4l--z4r--z10--cycle; % right arm -filldraw z5r--z6r--z6l--z11--cycle; % left arm -proofpcbb(100, y100, y100); -penlabels(1,2,3,4,5,6,10,11,100); -endchar; - - -end - |