%%
%% This is file `gvibc10.mf',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% greek6cbc.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.
%% ------------------------------------------------------------------
%%% GVIBC10.MF  Computer Greek font (6th century BC) 10 point design size.


font_identifier:="Greek"; font_size 10pt#;

u#:=.2pt#;                 % unit width
ht#:=7pt#;                 % height of characters (CM cap-height is approx 6.8pt)
s#:=1.5pt#;                % width correction (right and left)
o#:=1/20pt#;               % overshoot
px#:=.7pt#;                % horizontal width of pen
font_normal_space:=7pt#;   % width of a blank space
font_normal_shrink:=.9pt#; % width correction for blank space
font_x_height:=4.5pt#;     % height of one ex
font_quad:=10pt#;          % an em


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

font_coding_scheme:="Greek glyphs";
mode_setup;

ho#:=o#;                   % horizontal overshoot
leftloc#:=s#;        % leftmost xcoord of character
py#:=.9px#;                % vertical thickness of the pen

define_pixels(s,u);
define_blacker_pixels(px,py);
define_good_x_pixels(leftloc);
define_corrected_pixels(o);             % turn on overshoot correction
define_horizontal_corrected_pixels(ho);

numeric midloc, rightloc;
pickup pencircle xscaled px yscaled py;
stylus:=savepen;

def beginglyph(expr code, unit_width) =
  beginchar(code, unit_width*ht#+2s#, ht#, 0);
  midloc:=1/2w; rightloc:=(w-s);
  pickup stylus enddef;

let cmchar=\;


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


cmchar "Greek letter alpha (a)";
beginglyph("a",0.6);
x1=leftloc; x3=rightloc;    % base points
bot y1 = bot y3 = -o;
x2 = midloc; top y2 = h;    % apex
draw z1--z2--z3; % draw the legs
z4 = 0.4[z1, z2];
draw z3--z4; % draw the bar
labels(1,2,3,4);
endchar;


cmchar "Greek letter beta (b)";
beginglyph("b",0.6);
x1=x3=x5=leftloc;
x2=x4=rightloc;
bot y1=-o; top y5=h;
y2=1/4h; y3=1/2h; y4=3/4h;
draw z1--z5;      % the upright
draw z1{right}..z2..z3{left};  % lower bowl
draw z3{right}..z4..z5{left};  % upper bowl
labels(1,2,3,4,5); endchar;


cmchar "Greek letter gamma (g)";
beginglyph("g", 0.4);
x1=x2=leftloc; x3=rightloc;
bot y1=-o; top y2 = top y3= h;
draw z1--z2--z3;
labels(1,2,3); endchar;


cmchar "Greek letter delta (d)";
beginglyph("d",0.6);
x1=leftloc; x2=midloc; x3=rightloc;
bot y1 = bot y3= 0;
top y2=h;
draw z1--z2--z3--cycle;
labels(1,2,3); endchar;


cmchar "Greek letter epsilon (e)";
beginglyph("e",0.6);
x1=x3=leftloc; x4=x6=rightloc;
bot y1= bot y4= -o; top y3= top y6= h;
z2=0.5[z1,z3]; z5=0.5[z4,z6];
draw z4--z1--z3--z6;
draw z2--z5;
labels(1,2,3,4,5,6); endchar;


cmchar "Greek letter digamma (F)";
beginglyph("F",0.6);
x1=x3=leftloc; x4=x6=rightloc;
bot y1= bot y4= -o; top y3= top y6= h;
z2=0.65[z1,z3]; z5=0.65[z4,z6];
draw z1--z3--z6;
draw z2--z5;
labels(1,2,3,4,5,6); endchar;


cmchar "Greek letter zeta (z)";
beginglyph("z",0.2);
x1=x2=midloc;
bot y1=-o; top y2=h;
draw z1--z2;         % the upright
x3=x5=leftloc; x4=x6=rightloc;
y3=y4=y1;  y5=y6=y2;
draw z3--z4;         % lower bar
draw z5--z6;         % upper bar
labels(1,2); endchar;


cmchar "Greek letter eta (h)";
beginglyph("h", 0.6);
numeric alpha;
x1=x3=leftloc; x4=x6=rightloc;
bot y1 = bot y4= -o; top y3= top y6= h;
z2=0.5[z1,z3]; z5=0.5[z4,z6];
draw z1--z3--z6--z4--cycle; % rectangle
draw z2--z5;                % bar
labels(1,2,3,4,5,6); endchar;


cmchar "Greek letter theta (T)";
beginglyph("T",1.0);
path p;
x1=leftloc; x3=rightloc;
y2=h; y4=0;
x2=x4=midloc;
y1=y3=h/2;
z100=(x2,y3);  % circle center
p = z1..z2..z3..z4..cycle;  % the circle
draw p;
draw z1--z3; draw z2--z4;   % the cross
labels(1,2,3,4); endchar;


cmchar "Greek letter iota (i)";
beginglyph("i",0.2);
x1=x2=midloc;
bot y1=-o; top y2=h;
draw z1--z2;
labels(1,2); endchar;


cmchar "Greek letter kappa (k)";
beginglyph("k",0.6);
numeric alpha;
alpha:=0.1;
x1=rightloc;
x2=x1+alpha*(w-s);
x3=x4=x5=leftloc;
bot y1= bot y3=-o;
y2=y5=h; y4=1/2h;
draw z3--z5;                           % the upright
draw z1--z4; draw z4--z2;              % the arms
labels(1,2,3,4,5); endchar;


cmchar "Greek letter lambda (l)";
beginglyph("l",0.4);
x1=x2=leftloc; x3=rightloc;
bot y1=-o; y2=h;
y3=.7h;
draw z1--z2--z3;
labels(1,2,3); endchar;


cmchar"Greek letter mu (m)";
beginglyph("m",1.0);
x1=rightloc;
x5=x6=leftloc;
x2=3/4[x5,x1]; x3=1/2[x5,x1]; x4=1/4[x5,x1];
bot y6= -o;
top y5= top y3 = h;
top y1=.8h;
y2=.6h;
y4=.7h;
draw z6--z5;
draw z1--z2--z3--z4--z5;
labels(1,2,3,4,5,6); endchar;


cmchar "Greek letter nu (n)";
beginglyph("n",0.6);
x1=x2=leftloc; x3=x4=rightloc;
y1=0; y2=0.8h; y3=0.3h; y4=h;
draw z1--z2--z3--z4;
labels(1,2,3,4); endchar;


cmchar "Greek letter xi (x)";
beginglyph("x", 0.6);
x1=x3=leftloc; x4=x6=rightloc;
bot y1= bot y4= -o; top y3= top y6= h;
z2=0.5[z1,z3]; z5=0.5[z4,z6];
z7=0.5[z1,z4]; z8=0.5[z3,z6];
draw z1--z4; draw z2--z5; draw z3--z6;  % horizontals
draw z7--z8;                            % vertical
labels(1,2,3,4,5,6,7,8); endchar;


cmchar "Greek letter omicron (o)";
beginglyph("o",1.0);
x1=leftloc; x3=rightloc;
y2=h; y4=0;
x2=x4=midloc;
y1=y3=h/2;
draw z1..z2..z3..z4..cycle;
labels(1,2,3,4); endchar;


cmchar "Greek letter pi (p)";
beginglyph("p", 0.4);
x1=x2=leftloc; x3=x4=rightloc;
bot y1=-o; top y2= top y3= h; y4=0.6h;
draw z1--z2--z3--z4;
labels(1,2,3,4); endchar;


cmchar "Greek letter (koppa) q";
beginglyph("q",0.6);
numeric alpha;
x1=leftloc;
x3=rightloc;
alpha=0.5(x3-x1);  % circle radius
y2=h;
y4=y2-2alpha;
bot y5=-o;
x2=x4=x5=midloc;
y1=y3=h-alpha;
draw z1..z2..z3..z4..cycle;  % the circle
draw z5--z4;                 % the upright
labels(1,2,3,4,5); endchar;


cmchar "Greek letter rho (r)";
beginglyph("r", 0.4);
x1=x2=x3=leftloc; x4=rightloc;
bot y1=-o; top y2=h;
y3=y4=0.5h;
draw z1--z2--z4--z3; % the P shape
x5=midloc; y5=0.2h;
draw z3--z5;         % a little leg
labels(1,2,3,4); endchar;


cmchar "Greek letter sigma (s)";
beginglyph("s", 0.8);
x2=x4=leftloc; x1=x5=rightloc;
y1=0; y5=h;
y2=0.1h; y4=0.9h;
z3=(midloc,0.5h);
draw z1--z2--z3--z4--z5;
labels(1,2,3,4,5); endchar;


cmchar "Greek letter tau (t)";
beginglyph("t", 0.6);
x1=midloc; x2=leftloc; x4=rightloc;
bot y1=-o; top y2= top y4= h;
z3=0.5[z2,z4];
draw z1--z3;  % upright
draw z2--z4;  % bar
labels(1,2,3,4); endchar;


cmchar "Greek letter upsilon (y)";
beginglyph("y", 0.6);
x1=x3=midloc; x2=leftloc; x4=rightloc;
bot y1=-o; top y2= top y4= h;
y3=0.6h;
draw z1--z3;  % upright
draw z2--z3--z4;  % V
labels(1,2,3,4); endchar;


cmchar "Greek letter chi (X)";
beginglyph("X", 0.6);
x1=x2=leftloc; x3=x4=rightloc;
bot y1= bot y3=-o; top y2= top y4=h;
draw z1--z4; draw z2--z3;
labels(1,2,3,4); endchar;


cmchar "Greek letter phi (f)";
beginglyph("f",0.6);
x1=leftloc; x3=rightloc;
x2=x4=midloc;
y1=y3=0.5h;
y2=h; y4=0;
draw z1..z2..z3..z4..cycle;  % the oval
draw z4--z2;                 % the upright
labels(1,2,3,4,5); endchar;


cmchar "Greek letter psi (P)";
beginglyph("P", 0.6);
x1=x3=midloc; x2=leftloc; x4=rightloc;
bot y1=-o; top y2= top y4= h;
y3=0.5h;
z5=0.5[z2,z4];
draw z1--z5;  % upright
draw z2--z3--z4;  % V
labels(1,2,3,4,5); endchar;


cmchar "Greek letter omega (O)";
beginglyph("O", 1.0);
x1=leftloc; x4=rightloc;
y1=y4=0;
z2=0.35[z1,z4]; z3=0.35[z4,z1];
x7=midloc; y7=h;
x5=0.1[x1,x4]; x6=0.1[x4,x1];
y5=y6=0.5h;
draw z1--z2..z5..z7..z6..z3--z4;
labels(1,2,3,4,5,6,7); endchar;


end

