display-char.t 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. NOTES ON THE DISPLAY CHARACTER DATATYPE
  2. Cris Perdue
  3. 10/11/82
  4. File: PW:DISPLAY-CHAR.T
  5. -----------------------------------
  6. This module provides a set of macros for manipulating
  7. "display-character" objects. These objects are represented to
  8. LISP as integers, but are dealt with as a separate type of
  9. object.
  10. (DC-MAKE-ENHANCEMENT-MASK KEYWORD . . . ) Macro
  11. This macro generates a specific enhancement mask object. The
  12. keywords are unevaluated identifiers. At present, the possible
  13. keywords are INVERSE-VIDEO, BLINK, UNDERLINE, and INTENSIFY,
  14. which should be meaningful with respect to HP terminals.
  15. (DC-MAKE-FONT-MASK FONT-NUMBER) Macro
  16. This makes a font mask object, given a font number. Font numbers
  17. have no definition yet, because we have no fonts.
  18. (DISPLAY-CHARACTER-CONS ENHANCEMENT-MASK FONT-MASK CHAR-CODE) Macro
  19. This macro generates a display character object, given an
  20. enhancement mask, a font mask, and a character code. The mask
  21. objects' purpose in life is to be used as arguments to this
  22. function and to be compared against each other.
  23. (DC-ENHANCEMENT-MASK DC) Macro
  24. Extracts the enhancement mask from a display character.
  25. (DC-ENHANCEMENT-INDEX DC) Macro
  26. There are a finite number of different combinations of display
  27. enhancements that are possible for a display-character. This
  28. macro returns an integer in the range from 0 that uniquely
  29. identifies the combination of enhancements in effect for this
  30. display-character. There should probably be a symbolic constant
  31. giving the maximum value for the identifying integer. With N
  32. different enhancements, the value turns out to be 2 raised to the
  33. Nth power, minus 1.
  34. (DC-FONT-MASK DC) Macro
  35. Extracts the font mask from a display character.
  36. (DC-FONT-NUMBER DC) Macro
  37. Obtains the font number from a display character.
  38. (DC-CHARACTER-CODE DC) Macro
  39. Obtains the character code from a display character object.