% Blackboard bold capitals, Alan Jeffrey, 11--14 Dec 1989. % ------------------------------------------------------------------- bbcap ("A") (smallgap#, medcap#, smallgap#); "The letter A"; % The bar, clipped by the wedge. draw cliptwice (ABar~Left -- ABar~Right) (Bottom~Left -- Top~Middle -- Bottom~Right); % The left line, fattened, and clipped by the right line. outline fatcliponce (rightof Bottom~Left -- rightof Top~Middle) (Top~Middle -- Bottom~Right); % The right line. draw Top~Middle -- Bottom~Right endchar; % ------------------------------------------------------------------- bbcap ("B") (biggap#, smallcap#, medgap#); "The letter B"; % The top arc. draw Top~Left -- Top~Middle {right} .. (Top -+- BBar)~Right .. {left} BBar~Middle -- BBar~Left; % The bottom arc. draw BBar~Left -- BBar~Middle {right} .. (BBar -+- Bottom)~Right .. {left} Bottom~Middle -- Bottom~Left; % The left line, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("C") (medgap#, medcap#, medgap#); "The letter C"; % The curve of the C. var (path) Cpath; Cpath = (Top - CCurl)~Right .. oabove Top~Middle {left} .. Horizon~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + CCurl)~Right; % The fat line emphasising the left side, clipped by the curve. draw fatcliptwice (obelow rightof Bottom~Left -- oabove rightof Top~Left) (Cpath); % The curve. draw Cpath endchar; % ------------------------------------------------------------------- bbcap ("D") (biggap#, medcap#, medgap#); "The letter D"; % The curve of the D. draw Top~Left -- Top~Middle {right} .. Horizon~Right {down} .. {left} Bottom~Middle -- Bottom~Left; % The left line, fattened. draw fatten rightof Top~Left --- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("E") (biggap#, smallcap#, smallgap#); "The letter E"; % The top line. draw Top~Left -- Top~Right; % The bar. draw BBar~Left -- farrightof BBar~(Left + bigjut); % The bottom line. draw Bottom~Left -- Bottom~Right; % The left line, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("F") (biggap#, smallcap#, smallgap#); "The letter F"; % The top line. draw Top~Left -- Top~Right; % The bar. draw BBar~Left -- farrightof BBar~(Left + bigjut); % The left line, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("G") (medgap#, medcap#, medgap#); "The letter G"; % The curve of the G (which is the same as of a C). var (path) Gpath; Gpath = (Top - CCurl)~Right .. oabove Top~Middle {left} .. Horizon~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + CCurl)~Right; % The emphasis for the left of the curve. draw fatcliptwice (rightof obelow Bottom~Left -- oabove rightof Top~Left) (Gpath); % The curve. draw Gpath; % The bar. draw (Bottom + CCurl)~Right -- GBar~Right -- GBar~(Right - bigjut) endchar; % ------------------------------------------------------------------- bbcap ("H") (biggap#, medcap#, biggap#); "The letter H"; % The right line. draw Top~Right -- Bottom~Right; % The bar. draw BBar~Left -- BBar~Right; % The left line, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("I") (biggap#, tiny#, biggap#); "The letter I"; % The vertical, fattened. draw fatten Top~Middle -- Bottom~Middle endchar; % ------------------------------------------------------------------- bbcap ("J") (medgap#, smallcap#, biggap#); "The letter J"; % The curve. var (path) Jpath; Jpath = Top~Right -- (Bottom -+- Top)~Right {down} .. obelow Bottom~Middle {left} .. (Bottom + CCurl)~Left; % The emphasis on the J, clipped by the curve. draw fatcliponce (leftof Top~Right -- obelow leftof Bottom~Right) (Jpath); % The curve. draw Jpath endchar; % ------------------------------------------------------------------- bbcap ("K") (biggap#, smallcap#, medgap#); "The letter K"; % The point at which the top diagonal hits the left side of the character. % It is somewhere along the line from the top right to BBar~Middle. z1 = whatever[Top~Right, BBar~Middle]; x1 = Left; % The top diagonal. draw z1 -- Top~Right; % The bottom diagonal. draw BBar~Middle -- Bottom~Right; % The left edge, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("L") (biggap#, smallcap#, smallgap#); "The letter L"; % The bottom line. draw Bottom~Left -- Bottom~Right; % The left line, fattened. draw fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("M") (biggap#, medcap#, biggap#); symmetric; "The letter M"; % The left line, fattened and clipped by the left diagonal. draw fatcliponce (rightof Bottom~Left -- rightof Top~Left) (Top~Left -- BBar~Middle); % The rest of the letter. draw Top~Left -- BBar~Middle -- Top~Right -- Bottom~Right endchar; % ------------------------------------------------------------------- bbcap ("N") (biggap#, medcap#, biggap#); "The letter N"; % The left line, fattened and clipped by the diagonal. draw fatcliponce (rightof Bottom~Left -- rightof Top~Left) (Top~Left -- Bottom~Right); % The rest of the letter. draw Top~Left -- Bottom~Right -- Top~Right endchar; % ------------------------------------------------------------------- bbcap ("O") (medgap#, medcap#, medgap#); "The letter O"; % The path of the O. var (path) Opath; Opath = oabove Top~Middle .. Horizon~Left .. obelow Bottom~Middle .. Horizon~Right .. cycle; % The emphasis at the left of the O, clipped by the O curve. draw fatcliptwice (obelow rightof Bottom~Left -- oabove rightof Top~Left) (Opath); % The curve. draw Opath endchar; % ------------------------------------------------------------------- bbcap ("P") (biggap#, smallcap#, medgap#); "The letter P"; % The arc. draw Top~Left -- Top~Middle {right} .. (Top -+- BBar)~Right .. {left} BBar~Middle -- BBar~Left; % The left line, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbchar ("Q") (medgap#, medcap#, medgap#) (ATop#, QTailBottom#); "The letter Q"; % The path of the Q. var (path) Qpath; Qpath = oabove Top~Middle .. (Top -+- aBottom)~Left .. obelow aBottom~Middle .. (Top -+- aBottom)~Right .. cycle; % The emphasis at the left of the Q, clipped by the Q curve. draw fatcliptwice (obelow rightof Bottom~Left -- oabove rightof Top~Left) (Qpath); % The curve. draw Qpath; % The tail. draw QTailTop~Middle -- QTailBottom~Right endchar; % ------------------------------------------------------------------- bbcap ("R") (biggap#, smallcap#, medgap#); "The letter R"; % The arc. draw Top~Left -- Top~Middle {right} .. (Top -+- BBar)~Right .. {left} BBar~Middle -- BBar~Left; % The left line, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left; % The diagonal. draw BBar~Middle -- Bottom~Right endchar; % ------------------------------------------------------------------- bbcap ("S") (medgap#, smallcap#, medgap#); "The letter S"; % The path of the S. var (path) Spath; Spath = (Top - CCurl)~Right .. oabove Top~Middle {left} .. (Top -+- BBar)~Left {down} .. BBar~Middle {right} .. (BBar -+- Bottom)~Right {down} .. obelow Bottom~Middle {left} .. (Bottom + CCurl)~Left; % The emphasis at the top left of the S. draw fatcliptwice (oabove rightof Top~Left -- rightof BBar~Left) (subpath (0, 4) of Spath); % The path of the S. draw Spath endchar; % ------------------------------------------------------------------- bbcap ("T") (smallgap#, medcap#, smallgap#); fatsymmetric; "The letter T"; % The top line. draw Top~Left -- Top~Right; % The vertical, fattened. draw fatten Top~Middle -- Bottom~Middle endchar; % ------------------------------------------------------------------- bbcap ("U") (biggap#, medcap#, biggap#); "The letter U"; % The path of the U. var (path) Upath; Upath = Top~Left -- Horizon~Left {down} .. obelow Bottom~Middle {right} .. {up} Horizon~Right -- Top~Right; % The emphasis of the U. draw fatcliponce (rightof Top~Left -- obelow rightof Bottom~Left) (Upath); % The path of the U. draw Upath endchar; % ------------------------------------------------------------------- bbcap ("V") (smallgap#, medcap#, smallgap#); symmetric; "The letter V"; % The left diagonal, clipped by the right. draw fatcliponce (rightof Top~Left -- rightof Bottom~Middle) (Bottom~Middle -- Top~Right); % The right diagonal. draw Bottom~Middle -- Top~Right endchar; % ------------------------------------------------------------------- bbcap ("W") (smallgap#, bigcap#, smallgap#); symmetric; "The letter W"; % The left diagonal, clipped by the rest. draw fatcliponce (rightof Top~Left -- rightof Bottom~(Left -+- Middle)) (Bottom~(Left -+- Middle) -- BBar~Middle); % The rest of the letter. draw Bottom~(Left -+- Middle) -- BBar~Middle -- Bottom~(Middle -+- Right) -- Top~Right endchar; % ------------------------------------------------------------------- bbcap ("X") (medgap#, medcap#, medgap#); "The letter X"; % The SE diagonal. draw Top~Left -- Bottom~Right; % The SW diagonal, fattened. outline fatten leftof Top~Right -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbcap ("Y") (smallgap#, medcap#, smallgap#); fatsymmetric; "The letter Y"; % The fat stroke running top left to bottom. draw fatten rightof Top~Left -- BBar~Middle -- Bottom~Middle; % The right diagonal. draw rightof BBar~Middle -- Top~Right endchar; % ------------------------------------------------------------------- bbcap ("Z") (medgap#, medcap#, medgap#); "The letter Z"; % The top line. draw Top~Left -- Top~Right; % The diagonal, fattened. draw fatten leftof Top~Right -- rightof Bottom~Left; % The bottom line. draw Bottom~Left -- Bottom~Right endchar; % -------------------------------------------------------------------