% Blackboard bold lower case, Alan Jeffrey, 12--18 Dec 1989. % ------------------------------------------------------------------- bbchar ("a") (smallgap#, medlower#, medgap#) (aTop#, aBottom#); "The letter a"; % The curve. var (path) apath; apath = (Top - cCurl)~Right .. oabove Top~Middle {left} .. Horizon~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + cCurl)~Right; % The emphasis to the left, clipped by the curve. draw fatcliptwice (oabove rightof Top~Left -- obelow rightof Bottom~Left) (apath); % The curve. draw apath; % The line at the right. draw Top~Right -- Bottom~Right; endchar; % ------------------------------------------------------------------- bbchar ("b") (medgap#, medlower# + fatness#, smallgap#) (bTop#, aBottom#); "The letter b"; % The curve. draw farrightof (aTop - cCurl)~Left .. oabove rightof aTop~Middle {right} .. aMiddle~Right {down} .. obelow rightof Bottom~Middle {left} .. farrightof (Bottom + cCurl)~Left; % The vertical, fattened. draw fatten rightof Bottom~Left -- rightof Top~Left; endchar; % ------------------------------------------------------------------- bbchar ("c") (smallgap#, medlower#, smallgap#) (aTop#, aBottom#); "The letter c"; % The curve. var (path) cpath; cpath = (Top - cCurl)~Right .. oabove Top~Middle {left} .. Horizon~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + cCurl)~Right; % The emphasis to the left, clipped by the curve. draw fatcliptwice (oabove rightof Top~Left -- obelow rightof Bottom~Left) (cpath); % The curve. draw cpath endchar; % ------------------------------------------------------------------- bbchar ("d") (smallgap#, medlower#, medgap#) (bTop#, aBottom#); "The letter d"; % The curve. var (path) dpath; dpath = (aTop - cCurl)~Right .. oabove aTop~Middle {left} .. aMiddle~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + cCurl)~Right; % The emphasis to the left, clipped by the curve. draw fatcliptwice (oabove rightof aTop~Left -- obelow rightof Bottom~Left) (dpath); % The curve. draw dpath; % The line at the right. draw Bottom~Right -- Top~Right endchar; % ------------------------------------------------------------------- bbchar ("e") (smallgap#, medlower#, smallgap#) (aTop#, aBottom#); "The letter e"; % The curve. var (path) epath; epath = eBar~Right .. oabove Top~Middle {left} .. Horizon~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + cCurl)~Right; % The bar. draw farrightof eBar~Left -- eBar~Right; % The emphasis to the left, clipped by the curve. outline fatcliptwice (oabove rightof Top~Left -- obelow rightof Bottom~Left) (epath); % The curve. draw epath; endchar; % ------------------------------------------------------------------- bbchar ("f") (medgap#, smalllower#, 0pt#) (bTop#, aBottom#); "The letter f"; % The curve. var (path) fpath; fpath = (Top - hCurl)~Left {up} .. oabove Top~Middle {right} .. (Top - cCurl)~Right; % The bar. draw aTop~Left -- farrightof aTop~(Left + jut); % The emphasis at the left of the curve. outline fatcliponce (rightof Bottom~Left -- oabove rightof Top~Left) (fpath); % The curve. draw fpath endchar; % ------------------------------------------------------------------- bbchar ("g") (smallgap#, medlower#, medgap#) (aTop#, gBottom#); "The letter g"; % The bowl path. var (path) gpath; gpath = (Top - cCurl)~Right .. oabove Top~Middle {left} .. aMiddle~Left {down} .. obelow aBottom~Middle {right} .. (aBottom + cCurl)~Right; % Emphasis of the bowl. draw fatcliptwice (obelow rightof aBottom~Left -- oabove rightof Top~Left) (gpath); % The bowl. draw gpath; % The tail. draw Top~Right --- aBottom~Right .. obelow Bottom~Middle {left} .. (Bottom + gCurl)~Left endchar; % ------------------------------------------------------------------- bbchar ("h") (medgap#, smalllower# + fatness#, medgap#) (bTop#, aBottom#); "The letter h"; % The curve. draw farrightof (aTop - cCurl)~Left .. oabove rightof aTop~Middle {right} .. (aTop - hCurl)~Right --- Bottom~Right; % The vertical, fattened. draw fatten rightof Bottom~Left -- rightof Top~Left endchar; % ------------------------------------------------------------------- bbchar ("i") (medgap#, tiny#, medgap#) (iTop#, aBottom#); fatsymmetric; "The letter i"; % The vertical, fattened. draw fatten Bottom~Middle -- aTop~Middle; % The dot. draw splodge below Top~Middle endchar; % ------------------------------------------------------------------- bbchar ("j") (0pt#, smalllower#, medgap#) (iTop#, gBottom#); "The letter j"; % The curve. var (path) jpath; jpath = aTop~Right --- aBottom~Right .. obelow Bottom~Middle {left} .. (Bottom + gCurl)~Left; % The emphasis. draw fatcliponce (leftof aTop~Right -- obelow leftof Bottom~Right) (jpath); % The curve. draw jpath; % The dot. draw splodge below leftof Top~Right endchar; % ------------------------------------------------------------------- bbchar ("k") (medgap#, smalllower# + fatness#, smallgap#) (bTop#, aBottom#); "The letter k"; % The point at which the top diagonal hits the left side of the character. % It is somewhere along the line from aTop~Right to eBar~Middle. z1 = whatever[aTop~Right, eBar~Middle]; x1 = Left; % The top diagonal. draw z1 -- aTop~Right; % The bottom diagonal. draw eBar~Middle -- Bottom~Right; % The left edge, fattened. outline fatten rightof Top~Left -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbchar ("l") (medgap#, tiny#, medgap#) (bTop#, aBottom#); "The letter l"; % The fattened vertical, clipped at the left by a curve. draw fatcliponce (Top~Middle -- Bottom~Middle) (leftof Horizon~Middle --- leftof (Bottom + hCurl)~Middle .. rightof Bottom~Middle {right}) endchar; % ------------------------------------------------------------------- bbchar ("m") (medgap#, biglower#, medgap#) (aTop#, aBottom#); symmetric; "The letter m"; % The vertical, fattened. draw fatten rightof Bottom~Left -- rightof Top~Left; % The first bump. draw farrightof (Top - cCurl)~Left .. oabove (farrightof Top~Left -+- rightof Top~Middle) {right} .. rightof (Top - hCurl)~Middle --- rightof Bottom~Middle; % The second bump. draw rightof (Top - hCurl)~Middle {up} .. oabove (rightof Top~Middle -+- Top~Right) {right} .. (Top - hCurl)~Right --- Bottom~Right endchar; % ------------------------------------------------------------------- bbchar ("n") (medgap#, smalllower# + fatness#, medgap#) (aTop#, aBottom#); "The letter n"; % The vertical, fattened. draw fatten rightof Bottom~Left -- rightof Top~Left; % The bump. draw farrightof (Top - cCurl)~Left .. oabove rightof Top~Middle {right} .. (Top - hCurl)~Right --- Bottom~Right; endchar; % ------------------------------------------------------------------- bbchar ("o") (smallgap#, medlower#, smallgap#) (aTop#, aBottom#); "The letter o"; % The circle; var (path) opath; opath = oabove Top~Middle {right} .. Horizon~Right {down} .. obelow Bottom~Middle {left} .. Horizon~Left {up} .. cycle; % The emphasis. draw fatcliptwice (obelow rightof Bottom~Left -- oabove rightof Top~Left) (opath); % The o. draw opath endchar; % ------------------------------------------------------------------- bbchar ("p") (medgap#, medlower# + fatness#, smallgap#) (aTop#, gBottom#); "The letter p"; % The curve. draw farrightof (Top - cCurl)~Left .. oabove rightof Top~Middle {right} .. aMiddle~Right {down} .. obelow rightof aBottom~Middle {left} .. farrightof (aBottom + cCurl)~Left; % The vertical, fattened. draw fatten rightof Bottom~Left -- rightof Top~Left; endchar; % ------------------------------------------------------------------- bbchar ("q") (smallgap#, medlower#, medgap#) (aTop#, gBottom#); "The letter q"; % The curve. var (path) qpath; qpath = (Top - cCurl)~Right .. oabove Top~Middle {left} .. aMiddle~Left {down} .. obelow aBottom~Middle {right} .. (aBottom + cCurl)~Right; % The emphasis to the left, clipped by the curve. draw fatcliptwice (oabove rightof Top~Left -- obelow rightof Bottom~Left) (qpath); % The curve. draw qpath; % The line at the right. draw Bottom~Right -- Top~Right endchar; % ------------------------------------------------------------------- bbchar ("r") (medgap#, smalllower# + fatness#, smallgap#) (aTop#, aBottom#); "The letter r"; % The vertical, fattened. draw fatten rightof Bottom~Left -- rightof Top~Left; % The bump. draw farrightof (Top - cCurl)~Left .. oabove rightof Top~Middle {right} .. (Top - cCurl)~Right endchar; % ------------------------------------------------------------------- bbchar ("s") (smallgap#, smalllower#, smallgap#) (aTop#, aBottom#); "The letter s"; % The path of the S. var (path) spath; spath = (Top - cCurl)~Right .. oabove Top~Middle {left} .. (Top -+- eBar)~Left {down} .. eBar~Middle {right} .. (eBar -+- 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 -- obelow rightof Bottom~Left) (subpath (0, 4) of spath); % The path of the S. draw spath endchar; % ------------------------------------------------------------------- bbchar ("t") (medgap#, smalllower#, smallgap#) (bTop#, aBottom#); "The letter t"; % The curve. var (path) tpath; tpath = (Bottom + hCurl)~Left {down} .. obelow Bottom~Middle {right} .. (Bottom + cCurl)~Right; % The bar. draw aTop~Left -- aTop~Right; % The emphasis. outline fatcliponce (rightof Top~Left -- obelow rightof Bottom~Left) (tpath); % The curve. draw tpath endchar; % ------------------------------------------------------------------- bbchar ("u") (medgap#, medlower#, medgap#) (aTop#, aBottom#); "The letter u"; % The curve of the u. var (path) upath; upath = Top~Left --- Horizon~Left .. obelow Bottom~Middle {right} .. {up} Horizon~Right; % The emphasis. draw fatcliponce (rightof Top~Left -- obelow rightof Bottom~Left) (upath); % The curve. draw upath; % The right line. draw Bottom~Right -- Top~Right endchar; % ------------------------------------------------------------------- bbchar ("v") (smallgap#, medlower#, smallgap#) (aTop#, aBottom#); 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; % ------------------------------------------------------------------- bbchar ("w") (smallgap#, biglower#, smallgap#) (aTop#, aBottom#); symmetric; "The letter w"; % The left diagonal, clipped by the rest. draw fatcliponce (rightof Top~Left -- rightof Bottom~(Left -+- Middle)) (Bottom~(Left -+- Middle) -- eBar~Middle); % The rest of the letter. draw Bottom~(Left -+- Middle) -- eBar~Middle -- Bottom~(Middle -+- Right) -- Top~Right endchar; % ------------------------------------------------------------------- bbchar ("x") (smallgap#, medlower#, smallgap#) (aTop#, aBottom#); "The letter x"; % The SE diagonal. draw Top~Left -- Bottom~Right; % The SW diagonal, fattened. outline fatten leftof Top~Right -- rightof Bottom~Left endchar; % ------------------------------------------------------------------- bbchar ("y") (smallgap#, medlower#, smallgap#) (aTop#, gBottom#); symmetric; "The letter y"; % The left diagonal, fattened, and clipped by the right. draw fatcliponce (rightof Top~Left -- rightof aBottom~Middle) (Top~Right -- aBottom~Middle); % The right diagonal and tail. draw Top~Right --- aBottom~Middle .. obelow Bottom~Left endchar; % ------------------------------------------------------------------- bbchar ("z") (smallgap#, medlower#, smallgap#) (aTop#, aBottom#); "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; % -------------------------------------------------------------------