1 Lisp Library Modules, Medley Release 1.0, CHARCODETABLES 1 Lisp Library Modules, Medley Release 1.0, CHARCODETABLES CHARCODETABLES 1 CHARCODETABLES 1 CHARCODETABLES 6 CharCodeTables(CHARCODETABLES NIL CharCodeTables NIL NIL 19) prints character code charts for a given font, showing the characters that exist in a printer in that font. It is useful for illustrating the characters that are available to the user of an application. Each table is a grid, specific to a font and to the printer to which the output is sent. Across the top are the high-order 8 bits of the character code; down the left are the low-order 8 bits. At 255 of the 256 intersections, a character is printed (code 377 is reserved). If a particular character doesn't exist on the printer, a black rectangle is shown in its stead. The tables are printed two to a page, in landscape form. To avoid problems with printer limitations, a group of charts is broken into documents no longer than five pages each for actual printing. Xerox Character Codes(XEROX% CHARACTER% CODES NIL Xerox% Character% Codes NIL NIL 19) 1 The Xerox Character Code Standard specifies a 16-bit character code space containing all the characters in a given font. For example, there are over 60,000 possible characters in the font Modern 10 Bold; however, many of those character codes have not yet been assigned. Moreover, a given printer may not have all the characters for a given font that the standard calls for. The character code space is divided into 255 character sets (numbered 0$376 octal) of 255 characters each (codes 0$377 octal). Character code 377 is reserved as the character-set switching marker in the Xerox file representation of the characters, thereby rendering character set 377 unavailable as well. Generally, each character set or range of character sets is reserved for a particular use or language. Character set 0, for example, contains the ASCII characters in its lower half, and a variety of common international and commercial symbols in its upper half (corresponding to the 8-bit ISO 6937 standard). Character set 46 is reserved for the Greek alphabet and Greek-specific punctuation marks. Code assignments are described in detail in Xerox System Integration Standard Character Code Standard, XNSS 058605, May 1986, version XC1-2-2-0. Requirements 1 The variable INTERPRESSFONTDIRECTORIES(INTERPRESSFONTDIRECTORIES (variable) NIL NIL NIL 19) must be set to a list of directories which contain font metric files. These files have names of the form {ERIS}FONTS>MODERN08-BIR-C#.WD where B = bold, I=italic, and # represents the character set number in octal. Installation 1 Load CHARCODETABLES.LCOM from the library. Functions 1 (SHOWCSETLIST(SHOWCSETLIST (function) NIL NIL NIL 20) CSETS FONT) [Function] Prints code tables for the character sets in the list CSETS, for the given font specification FONT. CSETS is a list of one or more numbers that identify the character sets; FONT is the name of a font. (SHOWCSETRANGE(SHOWCSETRANGE (function) NIL NIL NIL 20) FIRSTCSET LASTCSET FONT) [Function] Prints code tables for the character sets from FIRSTCSET through LASTCSET for the given FONT. (SHOWCOMMONCSETS(SHOWCOMMONCSETS (function) NIL NIL NIL 20) FONT) [Function] Prints code tables for the most common character sets in the given FONT. (These are character set 0, Greek, Cyrillic, Katakana, Hiragana, and various special symbols) (SHOWCSET(SHOWCSET (function) NIL NIL NIL 20) FONT) [Function] Prints code tables for every character set defined in the Xerox Character Code Standard. Limitations 1 This module works only with InterPress fonts. Examples 1 (SHOWCSETLIST '(0 238 239) '(MODERN10)) or (SHOWCSETLIST '(0 #O356 #O357) '(MODERN10)) Prints the code tables for character sets 0, 356 and 357 (octal) that correspond to the Modern 10-point font. (SHOWCSETRANGE 24 26 '(MODERN 10 ITALIC)) or (SHOWCSETRANGE #O30 #O32 '(MODERN 10 ITALIC)) Prints the code tables for character sets 30 and 32 (octal) and the Modern 10 italic font. Note: When typing the character set number, remember that the character sets are identified by octal numbers. Therefore you must type either the decimal equivalent of that octal number (e.g., to represent 41 octal, type 33) or the octal number directly, typed as #O41 (where O is the letter O). [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 19) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL)))))2HH5l2ll2HH 2HHl-T,2,,HH ,HH-T-TF PAGEHEADING VERSOHEADF PAGEHEADING RECTOHEADE PAGEHEADINGFOOTINGVE PAGEHEADINGFOOTINGR  HELVETICA HELVETICA TITAN CLASSIC CLASSIC  HELVETICAMODERN MODERNMODERN MODERNMODERN MODERN  HRULE.GETFNMODERN 9 HRULE.GETFNMODERN : HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  .IM.INDEX.GETFN  a  @IM.INDEX.GETFN HRULE.GETFNMODERN { \G< G "   N)  HRULE.GETFNMODERN 5IM.INDEX.GETFNMODERN j'  -  HRULE.GETFNMODERN   HRULE.GETFNMODERN (IM.INDEX.GETFNMODERN   5 "  C   )IM.INDEX.GETFNMODERN  .     +IM.INDEX.GETFNMODERN   B  ^ $IM.INDEX.GETFNMODERN  Y  HRULE.GETFNMODERN .  HRULE.GETFNMODERN(,n*.\) %  z