SUBTTL Subroutine Descriptions -- SETSYM - Get data from SYMBOL.DAT SEARCH PLTUNV ;Search the universal file TTL () ; This subroutine reads the SYMBOL table from either SYS:SYMBOL.DAT[1,4] ;or SYMBOL:SYMBOL.DAT[-], or returns information about the tables. ;NOTE: In order to use the negative tables, the user must define the ;logical device SYMBOL: via the ASSIGN or PATH commands to the Monitor. ;Calling sequence: ; CALL SETSYM(IFUNC,IARG,IANS) !The 3rd arg may be a REAL variable ; IFUNC = (input) Name of the function to perform. INTEGER or CHARACTER*5. ; IARG = (input) The argument of the function ; IANS = (output) Returned answer (not necessarily an integer) ; CALL SETSYM('TABLE',ITABLE,IERR) ; IFUNC = 'TABLE' - Change tables or return the value of the current one. ; ITABLE = The number of the table to be loaded into memory for SYMBOL. ; + = Positive values read from SYS:SYMBOL.DAT[1,4] ; - = Negative values read from SYMBOL:SYMBOL.DAT[-] ; 0 = Same as CALL SETSYM('NUMBER',0,IANS) ; IERR = The error flag . Returned as 0 if no errors, as -1 if errors. ; CALL SETSYM('NUMBER',0,IANS) ; IFUNC = 'NUMBE' - Read the current table number. ; IARG = Ignored. ; IANS = The table number. Positive if the table was read from ; SYS:SYMBOL.DAT[1,4], negative if from SYMBOL:SYMBOL.DAT[-]. ; CALL SETSYM('NAME',IARG,CANS) ; IFUNC = 'NAME' - Return name corresponding with table number. ; IARG = Table number, zero means current table. ; CANS = The table name returned as CHARACTER*15. ; CALL SETSYM('WIDTH',LETTER,WIDTH) ; IFUNC = 'WIDTH' - Read the width for the specified letter. ; LETTER = The ASCII code or CHARACTER*1 variable. "A"=65. ; WIDTH = The width as compared to the height, a number from 0.0 to 1.0. PAGE ;The tables defined in SYS:SYMBOL.DAT are: ; ; Description Upper Lower Number Punctu- Bracket Symbols ; case case ation [\]^_ #$%+-<=>@ ; -- -------------- ----- ----- ------ ------ ------- --------- ; 1. CSM standard Yes Yes Yes Yes Yes Yes ; 2. DEC standard Yes No Yes Yes Yes Yes ; 3. Olde English Yes Yes Yes Yes Yes $ only ; 4. Old German Yes Yes No No No No ; 5. Old Itialian Yes Yes No No No No ; 6. Script Yes Yes No No No No ; 7. Double line Yes Yes Yes Yes [] +-/<=> ; 8. Italics Yes Yes Yes Yes [] +-/<=> ; 9. Triple line Yes Yes Yes Yes No #$%+-= ; 10. Triple Italics Yes Yes Yes Yes No #$%+-= ; 11. Round letters Yes Yes Yes Yes No #$%+-= ; 12. Greek letters Yes Yes No No No No ; 13. Double Greek Yes Yes No No No No ;There are 26 centered symbols in SETSYM tables +1 and +2. ; 0 Square box 8 Z ; 1 Circle 9 Y ; 2 Triangle 10 Square star ; 3 Plus sign 11 Asterisk ; 4 X 12 Hourglass ; 5 Diamond 13 Vertical bar ; 6 Up arrow 14 Five pointed star ; 7 X with a bar on top 15 Horizontal bar ; 16-25 Digits 0 through 9, centered about the point SUBTTL SETSYM -- Dispatch, 'NUMBE' and 'WIDTH' ND MAXSET,^D20 ND SETSIZ,^D12*200 A=P1 ;Preserved AC B=P2 ;Byte pointer C=P3 ;Counter D=P4 ;Data PURGE P1,P2,P3,P4 ; CALL SETSYM(IFUNC,IARG,IANS) ENTRY SETSYM ;Set up entry point SIXBIT /SETSYM/ SETSYM: LDB T1,[ACPNTR 0(L)] ;Get type of argument CAIN T1,ACTYPE(CHARACT) ;CHARACTER expression? SKIPA T1,@0(L) ;Yes, get byte pointer XMOVEI T1,@0(L) ;No, get addr of numeric variable MOVE T1,@T1 ;Get one word of data ANDCM T1,[BYTE(7)40,40,40,40,40] ;Translate lower to uppercase ;(also converts spaces to nulls) MOVSI T2,-FUNLEN ;Set up AOBJN counter SETSY1: CAMN T1,FUNASC(T2) ;Match? JRST @FUNDSP(T2) ;Yes, do it AOBJN T2,SETSY1 ;Try next ERRSTR () PUSHJ P,TRACE.## ;Trace the subroutine calls POPJ P, DEFINE SETFUN, ;End of DEFINE SETFUN DEFINE XX(ARG),< ASCII/ARG/> FUNASC: SETFUN ;Function names FUNLEN==.-FUNASC DEFINE XX(ARG),< IFIW D'ARG> FUNDSP: SETFUN ;Dispatch table ;'NUMBE' - Return current table number DNUMBE: MOVE T1,NUMB0 ;Get old number (+ or -) MOVEM T1,@2(L) ;Return as IANS POPJ P, ;'WIDTH' - Return width of a particular letter DWIDTH: MOVE D,@1(L) ;Get the character TLNE D,774000 ;Left justified ASCII? LSH D,-^D29 ;Yes, right justify it SUB D,MINC.N ;Subtract min CAMG D,MAXC.N ;Within range? SKIPN B,IPOINT(D) ;And pointer non-zero POPJ P, ;No, return 0 AND B,[777700,,007777] ;Remove byte count ADDI B,STROKS ;Point to the data area ILDB T1,B ;Get the width of the character FLOAT T1 ;To floating point FDVR T1,HITE.N ;Ratio of width/height MOVEM T1,@2(L) ;Return WIDTH fraction POPJ P, ;'NAME' - Return name of table DNAME: MOVE T1,@1(L) ;Get arg CAME T1,OLDSET ;Skip if asking for current table name JUMPN T1,DNAME1 ;Zero means current table name GETBC T1,2 ;Get byte pointer and count (T2=max if INTEGER) CAILE T2,^D15 ;More than size of name? MOVEI T2,^D15 MOVE T3,[POINT 7,TNAME] ;Point to table name DNAME0: ILDB T4,T3 ;Get a char IDPB T4,T1 ;Store SOJG T2,DNAME0 ;Copy 15 bytes POPJ P, DNAME1: POPJ P, ;**** NOT IMPLEMENTED ********************************** SUBTTL SETSYM -- 'TABLE' - Change symbol tables DTABLE: MOVE T1,@1(L) ;Get the table to use JUMPE T1,DNUMBE ;Zero to return current table CAILE T1,MAXSET ;If out of range, JRST ISETA3 ; return error MOVMM T1,NUMB ;Save it for later MOVEM T1,NUMB0 ;Positive means table was set up by ISETAB CAMN T1,OLDSET ;Is this table already set up? JRST ISETA5 ;Yes, use it SKIPG T1 ;Positive? SKIPA T3,['SYMBOL'] ;Use SIXBIT/SYMBOL/ for negative (MSETAB) MOVSI T3,'SYS' ;Use SIXBIT/SYS/ for positive (ISETAB) MOVEI T2,.IODMP ;Dump mode MOVEI T4,0 ;No buffers FT701==0 ;*HACK* IFN FT701, IFE FT701,< ;Use OPEN/LOOKUP instead of FILOP. OPEN %0,T2 ;INIT SYS: or SYMBOL: JRST ISETA3 ;No MOVE T1,['SYMBOL'] ;File name MOVSI T2,'DAT' ;Extension SETZB T3,T4 ;Implied directory LOOKUP %0,T1 ;Find SYMBOL.DAT JRST ISETA2 ;Not there ; The first block is an index, each entry is <-WORD.LENGTH,,BLOCK.NUMBER> INPUT %0,[IOWD MAXSET,SETBUF 0] ;Read in the index block MOVE T1,NUMB ;Get requested number again SKIPN T3,SETBUF-1(T1) ;Skip if the pointer to table is non-zero JRST ISETA2 ;Go die USETI %0,(T3) ;Get the right block to start with CAML T3,[-SETSIZ,,0] ;If the IOWD is bigger than our buffer TLNN T3,-1 ; or zero HRLI T3,-SETSIZ ;Use the biggest we can handle HRRI T3,BUFFER-1 ;Complete RH of IOWD MOVEI T4,0 ;Stop word IN %0,T3 ;Read in the data for this table JRST ISETA4 ;Data read in OK PFALL ISETA2 ;Error, return -1 ISETA2: RELEAS %0, ;Release the DSK ISETA3: SETO T2, ;Set the error indicator to bad JRST ISETA6 ;Return the value ISETA4: RELEAS %0, ;Release the DSK > ;End of IFE FT701 MOVE T1,NUMB0 ;Get the number of the stoke table read in MOVEM T1,OLDSET ;Save the number for later HLLZS SYMPTR ;Not centered and not normal yet ISETA5: MOVEI T2,0 ;Set error indicator to good ISETA6: MOVEM T2,@2(L) ;Store IERR as 3rd arg to SETSYM SKIPE TNAME ;Is table name set up? POPJ P, ;Yes MOVE T1,[[ASCII/(unknown table)/],,TNAME] BLT T1,TNAME+2 ;No, set name to 15 characters POPJ P, ;End of ISETAB/MSETAB IFN FTMKTB,< SUBTTL MKTBL & SETABL -- Entry points MKTBL:: SETABL:: ERRSTR () **** MORE WORK NEEDED HERE ***************************************************** POPJ P, > ;End of IFN FTMKTB NUMB: BLOCK 1 ;Argument to ISETAB/MSETAB (always positive) NUMB0: BLOCK 1 ;Positive if from ISETAB, negative if from MSETAB SUBTTL ISETAB table #1 -- Pointers .DIRECTIVE FLBLST ;First line binary list SETBUF: BLOCK MAXSET ;First block of SYMBOL.DAT, index pointers OLDSET: EXP 1 ;The last symbol table used, table #1 is set up SYMB0L:: BUFFER: ;This data gets overwritten when ISETAB is called PENU.N: 37 ;Pen-up code, -1 in 5 bits HITE.N: 8.0 ;Units of height in floating point MINC.N: 40 ;First normal character (octal code for SPACE) MAXC.N: 140 ;Number of normal chars (96 including RUBOUT) PENU.C: 7 ;-1 expressed in 3 bits HITE.C: 6.0 ;Units of height in floating point MINC.C: 0 ;First centered symbol MAXC.C: ^D26 ;Number of centered symbols TNAME: ASCII /CSM Standard / ;CHARACTER*15 table name ;123456789012345 EXP 0, 0,0,0,0 ;Reserved for future expansion ;The next 200 words are byte pointers, the address an offset from STROKS, ; the count of strokes is in the middle 12 bits. All zero if no such character IPOINT: +01_^D12 ;space 40 +06_^D12 ;! 41 XLIST ;Save paper +06_^D12 ;" 42 +14_^D12 ;# 43 +21_^D12 ;$ 44 +25_^D12 ;% 45 +14_^D12 ;& 46 +03_^D12 ;' 47 +05_^D12 ;( 50 +05_^D12 ;) 51 +14_^D12 ;* 52 +06_^D12 ;+ 53 +07_^D12 ;, 54 +03_^D12 ;- 55 +06_^D12 ;. 56 +03_^D12 ;/ 57 +15_^D12 ;0 60 +04_^D12 ;1 61 +12_^D12 ;2 62 +14_^D12 ;3 63 +05_^D12 ;4 64 +13_^D12 ;5 65 +13_^D12 ;6 66 +04_^D12 ;7 67 +21_^D12 ;8 70 +13_^D12 ;9 71 +14_^D12 ;: 72 +15_^D12 ;; 73 +04_^D12 ;< 74 +06_^D12 ;= 75 +04_^D12 ;> 76 +13_^D12 ;? 77 LIST +24_^D12 ;@ 100 +07_^D12 ;A 101 XLIST +16_^D12 ;B 102 +11_^D12 ;C 103 +10_^D12 ;D 104 +12_^D12 ;E 105 +07_^D12 ;F 106 +13_^D12 ;G 107 +11_^D12 ;H 110 +11_^D12 ;I 111 +11_^D12 ;J 112 +11_^D12 ;K 113 +06_^D12 ;L 114 +06_^D12 ;M 115 +05_^D12 ;N 116 +12_^D12 ;O 117 +10_^D12 ;P 120 +15_^D12 ;Q 121 +13_^D12 ;R 122 +13_^D12 ;S 123 +06_^D12 ;T 124 +07_^D12 ;U 125 +04_^D12 ;V 126 +06_^D12 ;W 127 +06_^D12 ;X 130 +07_^D12 ;Y 131 +05_^D12 ;Z 132 +05_^D12 ;[ 133 +03_^D12 ;\ 134 +05_^D12 ;] 135 +07_^D12 ;^ 136 +07_^D12 ;_ 137 +03_^D12 ;` 140 +17_^D12 ;a 141 +14_^D12 ;b 142 +11_^D12 ;c 143 +15_^D12 ;d 144 +13_^D12 ;e 145 +11_^D12 ;f 146 +17_^D12 ;g 147 +11_^D12 ;h 150 +10_^D12 ;i 151 +10_^D12 ;j 152 +11_^D12 ;k 153 +03_^D12 ;l 154 +17_^D12 ;m 155 +11_^D12 ;n 156 +12_^D12 ;o 157 +14_^D12 ;p 160 +14_^D12 ;q 161 +10_^D12 ;r 162 +13_^D12 ;s 163 +11_^D12 ;t 164 +10_^D12 ;u 165 +04_^D12 ;v 166 +06_^D12 ;w 167 +06_^D12 ;x 170 +07_^D12 ;y 171 +05_^D12 ;z 172 +10_^D12 ;{ 173 +03_^D12 ;| 174 +10_^D12 ;} 175 LIST +05_^D12 ;~ 176 +04_^D12 ; 177 ;Centered symbols +10_^D12 ; 0 +14_^D12 ; 1 XLIST +06_^D12 ; 2 +07_^D12 ; 3 +07_^D12 ; 4 +07_^D12 ; 5 +07_^D12 ; 6 +06_^D12 ; 7 +07_^D12 ; 8 +07_^D12 ; 9 +16_^D12 ; 10 +15_^D12 ; 11 +07_^D12 ; 12 +04_^D12 ; 13 +11_^D12 ; 14 +04_^D12 ; 15 +14_^D12 ; 16 +10_^D12 ;1 17 +13_^D12 ;2 18 +20_^D12 ;3 19 +11_^D12 ;4 20 +14_^D12 ;5 21 +17_^D12 ;6 22 +11_^D12 ;7 23 +24_^D12 ;8 24 LIST +17_^D12 ;9 25 BLOCK 200-<.-IPOINT> ;Unused pointers SUBTTL ISETAB table #1 -- Data STROKS: BYTE (5) 10,0,6 (5)10,0,6,2, 6,2,7,-1,2,10,2 BYTE (5) 15 (5)10,0,6,2,14,2, 16,-1,4,16,4,14 (5)10 BYTE (5) 0,6,2,7,2,15,-1, 4,15,4,7,-1,6,11 XLIST ;More of the same BYTE (5) 0,11,-1,0,13,6,13 (5)10,0,6,0,10,2,6 BYTE (5) 4,6,6,10,4,12,2, 12,0,14,2,16,4,16 BYTE (5) 6,14,-1,4,16,4,6, -1,2,6,2,16 (5)10,0 BYTE (5) 6,0,6,6,14,1,14, 0,13,0,12,1,11,2 BYTE (5) 11,3,12,3,13,2,14, -1,4,11,3,10,3,7 BYTE (5) 4,6,5,6,6,7,6, 10,5,11,4,11 (5)10,0 BYTE (5) 6,6,6,1,13,1,15, 2,16,3,16,4,15,0 BYTE (5) 11,0,7,1,6,3,6, 5,10 (5)10,0,6,2,14 BYTE (5) 4,16 (5)10,0,6,2,6, 0,10,0,14,2,16 (5)10 BYTE (5) 0,6,0,6,2,10,2, 14,0,16 (5)10,0,6,0 BYTE (5) 10,4,14,-1,2,14,2, 10,-1,4,10,0,14,-1 BYTE (5) 0,12,4,12 (5)10,0,6, 2,7,2,13,-1,0,11 BYTE (5) 4,11 (5)10,0,6,3,6, 3,7,2,7,2,6,3 BYTE (5) 6,2,5 (5)10,0,6,0, 11,4,11 (5)10,0,6,2 BYTE (5) 6,3,6,3,7,2,7, 2,6 (5)10,0,6,0,6 BYTE (5) 6,14 (5)10,0,6,0,7, 6,15,-1,6,14,4,16 BYTE (5) 2,16,0,14,0,10,2, 6,4,6,6,10,6,14 BYTE (5)10,0,6,1,14,3,16, 3,6 (5)10,0,6,0,14 BYTE (5) 0,15,1,16,5,16,6, 15,6,13,0,7,0,6 BYTE (5) 6,6 (5)10,0,6,0,15, 1,16,5,16,6,15,6 BYTE (5) 14,4,12,6,10,6,7, 5,6,1,6,0,7 (5)10 BYTE (5) 0,6,5,6,5,16,0, 11,6,11 (5)10,0,6,0 BYTE (5) 7,1,6,4,6,6,10, 6,11,5,12,1,12,0 BYTE (5) 11,0,16,6,16 (5)10,0, 6,0,11,1,12,5,12 BYTE (5) 6,11,6,7,5,6,1, 6,0,7,0,12,4,16 BYTE (5)10,0,6,0,16,6,16, 1,6 (5)10,0,6,1,12 BYTE (5) 0,11,0,7,1,6,5, 6,6,7,6,11,5,12 BYTE (5) 6,13,6,15,5,16,1, 16,0,15,0,13,1,12 BYTE (5) 5,12 (5)10,0,6,2,6, 6,12,6,15,5,16,1 BYTE (5) 16,0,15,0,13,1,12, 5,12,6,13 (5)10,0,6 BYTE (5) 2,6,3,6,3,7,2, 7,2,6,-1,2,12,3 BYTE (5) 12,3,13,2,13,2,12 (5)10,0,6,3,6,3,7 BYTE (5) 2,7,2,6,3,6,2, 5,-1,2,12,3,12,3 BYTE (5) 13,2,13,2,12 (5)10,0, 6,3,7,0,12,3,15 BYTE (5)10,0,6,0,10,6,10, -1,6,12,0,12 (5)10,0 BYTE (5) 6,0,7,3,12,0,15 (5)10,0,6,1,15,2,16 BYTE (5) 4,16,5,15,5,14,3, 12,3,10,-1,3,7,3 BYTE (5) 6 (5)10,0,6,1,6,0, 7,0,13,1,14,5,14 BYTE (5) 6,13,6,10,5,7,4, 10,4,13,-1,4,12,3 BYTE (5) 13,2,13,1,12,1,11, 2,10,3,10,4,11 (5)10 BYTE (5) 0,6,0,6,3,16,6, 6,-1,1,11,5,11 (5)10 BYTE (5) 0,6,0,6,0,16,5, 16,6,15,6,13,5,12 BYTE (5) 0,12,-1,5,12,6,11, 6,7,5,6,0,6 (5)10 BYTE (5) 0,6,6,15,5,16,2, 16,0,14,0,10,2,6 BYTE (5) 5,6,6,7 (5)10,0,6, 0,6,0,16,4,16,6 BYTE (5) 14,6,10,4,6,0,6 (5)10,0,6,0,6,0,16 BYTE (5) 6,16,-1,4,12,0,12, -1,0,6,6,6 (5)10,0 BYTE (5) 6,0,6,0,16,6,16, -1,4,12,0,12 (5)10,0 BYTE (5) 6,6,15,5,16,2,16, 0,14,0,10,2,6,4 BYTE (5) 6,6,10,6,12,4,12 (5)10,0,6,0,6,0,16 BYTE (5) -1,6,16,6,6,-1,0, 12,6,12 (5)10,0,6,1 BYTE (5) 6,5,6,-1,3,6,3, 16,-1,1,16,5,16 (5)10 BYTE (5) 0,6,1,7,2,6,3, 6,4,7,4,16,-1,2 BYTE (5) 16,6,16 (5)10,0,6,1, 6,1,16,-1,1,12,5 BYTE (5) 16,-1,1,12,5,6 (5)10, 0,6,0,6,0,16,-1 BYTE (5) 0,6,6,6 (5)10,0,6, 0,6,0,16,3,13,6 BYTE (5) 16,6,6 (5)10,0,6,0, 6,0,16,6,6,6,16 BYTE (5)10,0,6,0,10,0,14, 2,16,4,16,6,14,6 BYTE (5) 10,4,6,2,6,0,10 (5)10,0,6,0,6,0,16 BYTE (5) 5,16,6,15,6,13,5, 12,0,12 (5)10,0,6,0 BYTE (5) 10,0,14,2,16,4,16, 6,14,6,10,4,6,2 BYTE (5) 6,0,10,-1,4,10,6, 6 (5)10,0,6,0,6,0 BYTE (5) 16,5,16,6,15,6,13, 5,12,0,12,-1,2,12 BYTE (5) 6,6 (5)10,0,6,0,10, 2,6,4,6,6,10,4 BYTE (5) 12,2,12,0,14,2,16, 4,16,6,14 (5)10,0,6 BYTE (5) 3,6,3,16,-1,0,16, 6,16 (5)10,0,6,0,16 BYTE (5) 0,7,1,6,5,6,6, 7,6,16 (5)10,0,6,0 BYTE (5) 16,3,6,6,16 (5)10,0, 6,0,16,0,6,3,11 BYTE (5) 6,6,6,16 (5)10,0,6, 0,6,6,16,-1,0,16 BYTE (5) 6,6 (5)10,0,6,0,16, 3,13,6,16,-1,3,13 BYTE (5) 3,6 (5)10,0,6,0,16, 6,16,0,6,6,6 (5)10 BYTE (5) 0,6,3,4,0,4,0, 16,3,16 (5)10,0,6,0 BYTE (5) 14,6,6 (5)10,0,6,3, 4,6,4,6,16,3,16 BYTE (5)10,0,6,0,13,3,16, 6,13,-1,3,16,3,6 BYTE (5)10,0,6,3,7,0,12, 3,15,-1,0,12,6,12 BYTE (5)10,0,6,2,16,4,14 (5)10,0,6,0,11,1,12 BYTE (5) 3,12,4,11,4,6,-1, 4,10,3,11,1,11,0 BYTE (5) 10,0,7,1,6,3,6, 4,7 (5)10,0,6,0,6 BYTE (5) 0,15,-1,0,11,1,12, 3,12,4,11,4,7,3 BYTE (5) 6,1,6,0,7 (5)10,0, 6,4,11,3,12,1,12 BYTE (5) 0,11,0,7,1,6,3, 6,4,7 (5)10,0,6,0 BYTE (5) 7,0,11,1,12,3,12, 4,11,4,7,3,6,1 BYTE (5) 6,0,7,-1,4,6,4, 15 (5)10,0,6,4,7,3 BYTE (5) 6,1,6,0,7,0,11, 1,12,3,12,4,11,4 BYTE (5) 10,0,10 (5)10,0,6,2, 6,2,14,3,15,4,15 BYTE (5) 5,14,-1,0,13,4,13 (5)10,0,6,4,11,3,12 BYTE (5) 1,12,0,11,0,7,1, 6,3,6,4,7,-1,4 BYTE (5) 12,4,5,3,4,1,4, 0,5 (5)10,0,6,0,6 BYTE (5) 0,15,-1,0,11,1,12, 3,12,4,11,4,6 (5)10 BYTE (5) 0,6,3,14,3,13,-1, 3,12,3,7,4,6,5 BYTE (5) 6 (5)10,0,6,3,14,3, 13,-1,3,12,3,5,2 BYTE (5) 4,1,4 (5)10,0,6,0, 6,0,15,-1,0,10,2 BYTE (5) 12,-1,0,10,2,6 (5)10, 0,6,2,6,2,15 (5)10 BYTE (5) 0,6,0,6,0,12,-1, 0,11,1,12,2,12,3 BYTE (5) 11,3,6,-1,3,11,4, 12,5,12,6,11,6,6 BYTE (5)10,0,6,0,6,0,12, -1,0,11,1,12,2,12 BYTE (5) 3,11,3,6 (5)10,0,6, 0,7,0,11,1,12,3 BYTE (5) 12,4,11,4,7,3,6, 1,6,0,7 (5)10,0,6 BYTE (5) 0,4,0,12,-1,0,11, 1,12,3,12,4,11,4 BYTE (5) 7,3,6,1,6,0,7 (5)10,0,6,4,11,3,12 BYTE (5) 1,12,0,11,0,7,1, 6,3,6,4,7,-1,4 BYTE (5) 12,4,4 (5)10,0,6,0, 6,0,12,-1,0,11,1 BYTE (5) 12,3,12,4,11 (5)10,0, 6,0,7,1,6,3,6 BYTE (5) 4,7,3,10,1,10,0, 11,1,12,3,12,4,11 BYTE (5)10,0,6,2,15,2,7, 3,6,4,6,5,7,-1 BYTE (5) 1,13,3,13 (5)10,0,6, 0,12,0,7,1,6,3 BYTE (5) 6,4,7,4,12,4,6 (5)10,0,6,0,12,2,6 BYTE (5) 4,12 (5)10,0,6,0,12, 0,6,2,10,4,6,4 BYTE (5) 12 (5)10,0,6,0,6,4, 12,-1,0,12,4,6 (5)10 BYTE (5) 0,6,0,12,2,6,-1, 4,12,1,4,0,4 (5)10 BYTE (5) 0,6,0,12,4,12,0, 6,4,6 (5)10,0,6,3 BYTE (5) 16,2,15,2,13,0,11, 2,7,2,5,3,4 (5)10 BYTE (5) 0,6,2,4,2,16 (5)10, 0,6,0,16,1,15,1 LIST BYTE (5) 13,3,11,1,7,1,5, 0,4 (5)0,0,6,2,20 ;350 & 351 = "~" BYTE (5) 3,21,4,20,5,21 (5)0, 0,6,1,20,4,20,4 ;352 & 353 BYTE (5) 17 (3) 3,3,3,3,5,5,5,5,1,1 ;Start of centered symbols BYTE (3) 1,1,5,3,5,3,3,3,3,3,3,5 ;355 BYTE (3) 4,5,5,4,5,2,4,1,2,1,1,2, 1,4,2,5,3,5,3,3,3,3,3,3 BYTE (3) 5,5,1,1,1,3,5,3,3,3,3,3, 3,5,3,1,3,3,1,3,5,3,3,3 XLIST BYTE (3) 3,3,3,5,5,1,1,3,3,1,5,5, 1,3,3,3,3,3,3,5,5,3,3,1 BYTE (3) 1,3,3,5,3,3,3,3,3,3,1,3, 5,5,3,1,3,3,5,3,3,3,3,3 BYTE (3) 1,1,5,5,1,5,5,1,3,3,3,3, 3,1,5,5,5,1,1,5,1,-1,3,3 BYTE (3) 3,3,3,1,5,3,3,5,5,3,3,3, 1,3,3,3,3,3,5,5,4,4,2,4 BYTE (3) 1,5,2,4,2,2,1,1,2,2,4,2, 5,1,4,2,4,4,3,3,3,3,3,3 BYTE (3) 5,3,1,3,3,5,5,1,1,3,3,5, 3,1,3,3,3,5,1,1,5,3,3,3 BYTE (3) 3,3,3,3,5,5,1,5,5,1,1,1, 3,3,3,3,3,3,5,3,1,3,3,3 BYTE (3) 3,3,3,6,5,1,1,4,5,4,1,1, 3,6,-1,3,3,3,3,3,1,3,5,3 BYTE (3) 3,3,3,3,3,2,0,4,0,5,1,5, 5,4,6,2,6,1,5,1,1,2,0,-1 BYTE (3) 3,3,3,3,3,2,5,3,6,3,0,2, 0,4,0,-1,3,3,3,3,3,1,5,2 BYTE (3) 6,4,6,5,5,5,4,1,1,1,0,5, 0,-1,3,3,3,3,3,1,5,2,6,4 BYTE (3) 6,5,5,5,4,4,3,2,3,4,3,5, 2,5,1,4,0,2,0,1,1,-1,3,3 BYTE (3) 3,3,3,1,6,1,3,5,3,-1,4,6, 4,0,-1,3,3,3,3,3,1,1,2,0 BYTE (3) 4,0,5,1,5,2,4,3,1,3,1,6, 5,6,-1,3,3,3,3,3,5,5,4,6 BYTE (3) 2,6,1,5,1,1,2,0,4,0,5,1, 5,2,4,3,2,3,1,2,-1,3,3,3 BYTE (3) 3,3,1,5,1,6,5,6,5,5,3,1, 3,0,-1,3,3,3,3,3,1,5,2,6 BYTE (3) 4,6,5,5,5,4,4,3,2,3,4,3, 5,2,5,1,4,0,2,0,1,1,1,2 BYTE (3) 2,3,1,4,1,5,-1,3,3,3,3,3, 1,1,2,0,4,0,5,1,5,5,4,6 LIST BYTE (3) 2,6,1,5,1,4,2,3,4,3,5,4, -1,3,3,0 ;End of centered data BLOCK SETSIZ-<.-BUFFER> ;Reserve the rest of the space SETEND==.-1 $HISEG END