Artifact 4c892488883abda5dc4a796c60731dcbe7c3afc8f052ccf409236da85482edc6:
- File
psl-1983/3-1/windows/font8.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 18490) [annotate] [blame] [check-ins using] [more...]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Font8.SL - Font Description with 8-bit wide characters % % Author: Alan Snyder % Hewlett-Packard/CRC % Date: 16 March 1983 (code taken from 9836-COLOR.SL) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (CompileTime (load fast-vectors)) % Font8-Patterns is a vector of 256 elements. Each element is either NIL or a % Vector of integers. If NIL, the character has no definition and should be % displayed as blank space. If a Vector, then each Integer in the Vector % represents one scan line of the character, right adjusted, starting with the % top scan line. Blank scan lines at the bottom of the raster are not % included in the vector. The function fixup-font-patterns, defined at the % end of this file, can be used to convert this vector so that all elements % are vectors with a minimum size. The recommended character height is 14 % scan lines, which includes interline spacing. (fluid '(font8-patterns)) (setf font8-patterns (vector % this vector must go in the heap, since it may be modified NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL [2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00000000 2#00000000 2#00010000 2#00010000 ] [2#00100100 2#00100100 2#00100100 2#00100100 ] [2#00000000 2#00000000 2#01000100 2#01000100 2#11111110 2#01000100 2#01000100 2#11111110 2#01000100 2#01000100 ] [2#00010000 2#01111100 2#11010110 2#10010000 2#11010000 2#01111100 2#00010110 2#00010010 2#11010110 2#01111100 2#00010000 ] [2#01100000 2#10010000 2#10010010 2#01100100 2#00001000 2#00010000 2#00100000 2#01001100 2#10010010 2#00010010 2#00001100 ] [2#00110000 2#01001000 2#10001000 2#10001000 2#10010000 2#01100000 2#01100000 2#10010000 2#10001010 2#10000100 2#01111010 ] [2#00001000 2#00001000 2#00010000 2#00010000 ] [2#00001000 2#00010000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00010000 2#00001000 ] [2#00100000 2#00010000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00010000 2#00100000 ] [2#00000000 2#00000000 2#10010010 2#01010100 2#00111000 2#11111110 2#00111000 2#01010100 2#10010010 ] [2#00000000 2#00000000 2#00010000 2#00010000 2#00010000 2#11111110 2#00010000 2#00010000 2#00010000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00011000 2#00011000 2#00010000 2#00100000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#11111110 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00110000 2#00110000 ] [2#00000010 2#00000010 2#00000100 2#00000100 2#00001000 2#00001000 2#00010000 2#00010000 2#00100000 2#00100000 2#01000000 2#01000000 ] [2#00111000 2#01000100 2#10000010 2#10000110 2#10001010 2#10010010 2#10100010 2#11000010 2#10000010 2#01000100 2#00111000 ] [2#00010000 2#00110000 2#01010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#01111100 ] [2#01111100 2#11000110 2#00000010 2#00000100 2#00001000 2#00010000 2#00100000 2#01000000 2#10000000 2#10000000 2#11111110 ] [2#01111100 2#11000110 2#00000010 2#00000010 2#00000110 2#01111100 2#00000110 2#00000010 2#00000010 2#11000110 2#01111100 ] [2#00001000 2#00011000 2#00101000 2#01001000 2#10001000 2#11111110 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 ] [2#11111110 2#10000000 2#10000000 2#10000000 2#10000000 2#11111100 2#00000110 2#00000010 2#00000010 2#11000110 2#01111100 ] [2#01111100 2#11000110 2#10000000 2#10000000 2#10000000 2#11111100 2#10000110 2#10000010 2#10000010 2#11000110 2#01111100 ] [2#11111110 2#00000010 2#00000010 2#00000010 2#00000100 2#00001000 2#00010000 2#00100000 2#00100000 2#00100000 2#00100000 ] [2#01111100 2#11000110 2#10000010 2#10000010 2#11000110 2#01111100 2#11000110 2#10000010 2#10000010 2#11000110 2#01111100 ] [2#01111100 2#11000110 2#10000010 2#10000010 2#11000110 2#01111010 2#00000010 2#00000010 2#00000010 2#11000110 2#01111100 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#00110000 2#00110000 2#00000000 2#00000000 2#00110000 2#00110000 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00011000 2#00011000 2#00000000 2#00000000 2#00011000 2#00011000 2#00010000 2#00100000 ] [2#00000100 2#00001000 2#00010000 2#00100000 2#01000000 2#10000000 2#01000000 2#00100000 2#00010000 2#00001000 2#00000100 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#11111110 2#00000000 2#00000000 2#11111110 2#00000000 2#00000000 2#00000000 ] [2#01000000 2#00100000 2#00010000 2#00001000 2#00000100 2#00000010 2#00000100 2#00001000 2#00010000 2#00100000 2#01000000 ] [2#01111100 2#10000010 2#10000010 2#00000010 2#00000100 2#00001000 2#00010000 2#00010000 2#00000000 2#00000000 2#00010000 ] [2#00000000 2#00000000 2#00000000 2#01111110 2#10000010 2#10111010 2#10101010 2#10111010 2#10001110 2#10000000 2#01111110 ] [2#00010000 2#00101000 2#01000100 2#10000010 2#10000010 2#10000010 2#11111110 2#10000010 2#10000010 2#10000010 2#10000010 ] [2#11111100 2#10000110 2#10000010 2#10000010 2#10000110 2#11111100 2#10000110 2#10000010 2#10000010 2#10000110 2#11111100 ] [2#01111100 2#11000110 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#11000110 2#01111100 ] [2#11111000 2#10001100 2#10000110 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000110 2#10001100 2#11111000 ] [2#11111110 2#10000000 2#10000000 2#10000000 2#10000000 2#11111000 2#10000000 2#10000000 2#10000000 2#10000000 2#11111110 ] [2#11111110 2#10000000 2#10000000 2#10000000 2#11111000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 ] [2#01111100 2#11000110 2#10000000 2#10000000 2#10000000 2#10000000 2#10001110 2#10000010 2#10000010 2#11000110 2#01111100 ] [2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#11111110 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 ] [2#01111100 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#01111100 ] [2#00000100 2#00000100 2#00000100 2#00000100 2#00000100 2#00000100 2#00000100 2#00000100 2#10000100 2#11001100 2#01111000 ] [2#10000010 2#10000100 2#10001000 2#10010000 2#10100000 2#11000000 2#10100000 2#10010000 2#10001000 2#10000100 2#10000010 ] [2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#11111110 ] [2#10000010 2#11000110 2#10101010 2#10111010 2#10010010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 ] [2#11000010 2#11000010 2#11100010 2#10100010 2#10110010 2#10010010 2#10011010 2#10001010 2#10001110 2#10000110 2#10000110 ] [2#01111100 2#11000110 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#11000110 2#01111100 ] [2#11111100 2#10000110 2#10000010 2#10000010 2#10000110 2#11111100 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 ] [2#00111000 2#01000100 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10010010 2#10011010 2#01001100 2#00111110 ] [2#11111100 2#10000110 2#10000010 2#10000010 2#10000110 2#11111100 2#10100000 2#10010000 2#10001000 2#10000100 2#10000010 ] [2#01111100 2#11000110 2#10000000 2#10000000 2#11000000 2#01111100 2#00000110 2#00000010 2#00000010 2#11000110 2#01111100 ] [2#11111110 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 ] [2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#11000110 2#01111100 ] [2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#01000100 2#01000100 2#00101000 2#00101000 2#00010000 ] [2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10010010 2#10010010 2#10101010 2#10101010 2#11000110 2#10000010 ] [2#10000010 2#01000100 2#01000100 2#00101000 2#00101000 2#00010000 2#00101000 2#00101000 2#01000100 2#01000100 2#10000010 ] [2#10000010 2#01000100 2#01000100 2#00101000 2#00101000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 ] [2#11111110 2#00000010 2#00000010 2#00000100 2#00001000 2#01111100 2#00100000 2#01000000 2#10000000 2#10000000 2#11111110 ] [2#00111000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 2#00111000 ] [2#01000000 2#01000000 2#00100000 2#00100000 2#00010000 2#00010000 2#00001000 2#00001000 2#00000100 2#00000100 2#00000010 2#00000010 ] [2#00111000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00111000 ] [2#00010000 2#00101000 2#01000100 2#10000010 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#00000000 2#11111110 ] [2#00010000 2#00010000 2#00001000 2#00001000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111100 2#00000010 2#00000010 2#01111110 2#10000010 2#10000110 2#01111010 ] [2#10000000 2#10000000 2#10000000 2#10000000 2#10111100 2#11000010 2#10000010 2#10000010 2#10000010 2#11000010 2#10111100 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111100 2#10000010 2#10000000 2#10000000 2#10000000 2#10000010 2#01111100 ] [2#00000010 2#00000010 2#00000010 2#00000010 2#01111010 2#10000110 2#10000010 2#10000010 2#10000010 2#10000110 2#01111010 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111100 2#10000010 2#10000010 2#11111100 2#10000000 2#10000000 2#01111110 ] [2#00011100 2#00100010 2#00100000 2#00100000 2#00100000 2#11111000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111100 2#10000010 2#10000010 2#10000010 2#01111110 2#00000010 2#00000010 2#10000010 2#01111100 ] [2#10000000 2#10000000 2#10000000 2#10000000 2#11111100 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 2#10000010 ] [2#00000000 2#00010000 2#00000000 2#00000000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00000000 ] [2#00000000 2#00001000 2#00000000 2#00000000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#00001000 2#01001000 2#00110000 2#00000000 ] [2#10000000 2#10000000 2#10000000 2#10000000 2#10000100 2#10001000 2#10010000 2#10100000 2#11010000 2#10001000 2#10000100 ] [2#01110000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#01111100 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#11101100 2#10010010 2#10010010 2#10010010 2#10010010 2#10010010 2#10010010 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#11111000 2#10000100 2#10000100 2#10000100 2#10000100 2#10000100 2#10000100 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111000 2#10000100 2#10000100 2#10000100 2#10000100 2#10000100 2#01111000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10111100 2#11000010 2#10000010 2#10000010 2#10000010 2#11000010 2#10111100 2#10000000 2#10000000 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111010 2#10000110 2#10000010 2#10000010 2#10000010 2#10000110 2#01111010 2#00000010 2#00000010 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10111100 2#11000010 2#10000000 2#10000000 2#10000000 2#10000000 2#10000000 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#01111100 2#10000010 2#10000000 2#01111100 2#00000010 2#10000010 2#01111100 2#00000000 ] [2#00000000 2#00100000 2#00100000 2#00100000 2#11111000 2#00100000 2#00100000 2#00100000 2#00100000 2#00100100 2#00011000 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10000100 2#10000100 2#10000100 2#10000100 2#10000100 2#10001100 2#01110100 2#00000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10000010 2#10000010 2#01000100 2#01000100 2#00101000 2#00111000 2#00010000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10000010 2#10000010 2#10000010 2#10010010 2#10101010 2#11000110 2#10000010 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10000010 2#01000100 2#00101000 2#00010000 2#00101000 2#01000100 2#10000010 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10000010 2#01000100 2#01000100 2#00101000 2#00010000 2#00100000 2#01000000 2#01000000 2#10000000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#11111110 2#00000100 2#00001000 2#00010000 2#00100000 2#01000000 2#11111110 ] [2#00001110 2#00010000 2#00010000 2#00010000 2#00110000 2#11100000 2#00110000 2#00010000 2#00010000 2#00010000 2#00001110 ] [2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 2#00010000 ] [2#11100000 2#00010000 2#00010000 2#00010000 2#00011000 2#00001110 2#00011000 2#00010000 2#00010000 2#00010000 2#11100000 ] [2#00000000 2#00000000 2#00000000 2#00000000 2#10011100 2#01110010 ] NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL )) (de fixup-font-patterns (patterns character-height) % Ensure that each element of a font pattern vector is a vector with at % least Character-Height elements. This modification does not change the % appearance of the font, but allows the code using the font description to % be more efficient (avoid bounds checking, etc.) (let ((blank-pattern (make-vector character-height 0))) (for (from i 0 (vector-upper-bound patterns)) (do (let ((fc (vector-fetch patterns i))) (when (null fc) (setf fc blank-pattern)) (when (< (vector-size fc) character-height) (setf fc (concat fc (make-vector (- character-height (vector-size fc)) 0)))) (vector-store patterns i fc) )))))