% Blackboard bold uppercase greek, Alan Jeffrey, 13--18 Dec 1989.
% 
% These characters occupy the same space they do in cmr, ie oct "000"
% to oct "012".

% -------------------------------------------------------------------

bbcap
   (oct "000")
   (biggap#, smallcap#, smallgap#);

   "Uppercase Greek Gamma";

   % The vertical, fattened.
   draw
      fatten
         rightof Bottom~Left
            -- rightof Top~Left;

   % The horizontal.
   draw
      Top~Left
         -- Top~Right

endchar;

% -------------------------------------------------------------------

bbcap 
   (oct "001")
   (smallgap#, medcap#, smallgap#);

   symmetric;

   "Uppercase Greek Delta";

   % Left diagonal, clipped by the right diagonal.
   draw
      fatcliponce
         (rightof Bottom~Left -- rightof Top~Middle)
         (Top~Middle -- Bottom~Right);

   % Right diagonal.
   draw
      Top~Middle 
         -- Bottom~Right;

   % Base.
   draw
      Bottom~Left
         -- Bottom~Right

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "002")
   (medgap#, medcap#, medgap#);

   "Uppercase Greek Theta";

   % The circle.
   var (path) Thetapath;
   
   Thetapath
      = oabove Top~Middle {left}
           .. Horizon~Left {down}
           .. obelow Bottom~Middle {right}
           .. Horizon~Right {up}
           .. cycle;

   % The emphasis at the left.
   draw
      fatcliptwice
         (rightof obelow Bottom~Left -- oabove rightof Top~Left)
         (Thetapath);

   % The circle.
   draw Thetapath;

   % The dash in the middle.
   draw
      farrightof Horizon~(Left + space)
         -- Horizon~(Right - space)

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "003")
   (smallgap#, medcap#, smallgap#);

   symmetric;

   "Uppercase Greek Lambda";

   % Left diagonal, clipped by the right diagonal.
   draw
      fatcliponce
         (rightof Bottom~Left -- rightof Top~Middle)
         (Top~Middle -- Bottom~Right);

   % Right diagonal.
   draw
      Top~Middle 
         -- Bottom~Right

endchar;

% -------------------------------------------------------------------

bbcap 
   (oct "004")
   (medgap#, medcap#, medgap#);

   symmetric;

   "Uppercase Greek Xi";

   % Top line.
   draw
      Top~Left
         -- Top~Right;

   % Middle line.
   draw
      Horizon~(Left + bigspace)
         -- Horizon~(Right - bigspace);

   % Bottom line.
   draw
      Bottom~Left
         -- Bottom~Right

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "005")
   (biggap#, smallcap#, biggap#);

   "Uppercase Greek Pi";

   % The right line.
   draw
      Top~Right
         -- Bottom~Right;
   
   % The bar.
   draw
      Top~Left
         -- Top~Right;
   
   % The left line, fattened.
   draw
      fatten
         rightof Top~Left
            -- rightof Bottom~Left

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "006")
   (medgap#, medcap#, medgap#);

   "Uppercase Greek Sigma";

   % The top line.
   draw
      Top~Left 
         -- Top~Right;

   % The bottom line.
   draw
      Bottom~Left
         -- Bottom~Right;

   % The diagonals.
   draw
      fatten
         rightof Bottom~Left
            -- Horizon~Middle
            -- rightof Top~Left

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "007")
   (smallgap#, medcap#, smallgap#);
   
   fatsymmetric;

   "Uppercase Greek Upsilon";

   % The stem.
   draw
      fatten
         Bottom~Middle
            -- BBar~Middle;

   % The left arc.
   draw
      leftof BBar~Middle 
         --- leftof (Top - CCurl)~Middle
         .. oabove ((leftof Top~Left) -+- (Top~Middle)) {left}
         .. (Top - CCurl)~Left {down};

   % The right arc.
   draw
      rightof BBar~Middle {up}
         --- rightof (Top - CCurl)~Middle
         .. oabove ((rightof Top~Right) -+- (Top~Middle)) {right}
         .. (Top - CCurl)~Right {down}

endchar;

% -------------------------------------------------------------------

bbcap 
   (oct "010")
   (medgap#, medcap#, medgap#);

   fatsymmetric;

   "Uppercase Greek Phi";

   % The circle.
   draw
      (Top - CCurl)~Middle {left}
         .. Horizon~Left {down}
         .. (Bottom + CCurl)~Middle {right}
         .. Horizon~Right {up}
         .. cycle;

   % The vertical.
   outline
      fatten
         Bottom~Middle 
            -- Top~Middle

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "011")
   (smallgap#, medcap#, smallgap#);

   fatsymmetric;

   "Uppercase Greek Psi";

   % The stroke.
   draw
      (Top - CCurl)~Left {right}
         .. leftof Horizon~(Left -+- Middle) {down}
         .. (Bottom + CCurl)~Middle {right}
         .. rightof Horizon~(Right -+- Middle) {up}
         .. (Top - CCurl)~Right {right};

   % The vertical.
   outline
      fatten
         Bottom~Middle
            -- Top~Middle

endchar;

% -------------------------------------------------------------------

bbcap
   (oct "012")
   (medgap#, medcap#, medgap#);

   "Uppercase Greek Omega";

   % The curve.
   var (path) Omegapath;
   
   Omegapath
      = farrightof Bottom~Left 
           .. Horizon~Left {up}
           .. oabove Top~Middle {right}
           .. Horizon~Right {down}
           .. farleftof Bottom~Right ;

   % The emphasis.
   draw
      fatcliptwice
         (rightof Bottom~Left -- oabove rightof Top~Left)
         (Omegapath);

   % The curve.
   draw Omegapath;

   % The left foot.
   draw 
      Bottom~Left
         -- farrightof Bottom~Left;

   % The right foot.
   draw
      Bottom~Right
         -- farleftof Bottom~Right

endchar;

% -------------------------------------------------------------------
