⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

==$BLOCK__.REX== This Classic REXX program is used to generate (create) the '''$BLOCK.REX''' program.

/**/trace o;parse arg !;if !all(arg()) then exit;if !cms then address '';signal on halt;signal on novalue;signal on syntax

/*┌────────────────────────────────────────────────────────────────────┐
  │This REXX program is too large for normal RX to handle.  Therefore, │
  │it needs to be compiled with:         REXX  /l  /o  $BLOCK__        │
  ├─────where:                                                         │
  │ /l  indicates a "Large" REXX program,  and                         │
  │ /o  indicates to REXX to "optimize" the REXX program  (instead of  │
  │     executing it);  the optimization process appends P─code to the │
  │     end of the REXX program.  To edit this program, the  $  program│
  │     should be used as it deletes the P─code, edits it (with KEDIT),│
  │     and lastly invokes the above mentioned REXX command.           │
  └────────────────────────────────────────────────────────────────────┘*/

/*┌────────────────────────────────────────────────────────────────────┐
  │                                                                    │
  │bel  b/s       tab l/f      eof         esc    c/r             bla  │
  │bell backspace tab linefeed end-of-file escape carriage-return blank│
  │                                                                    │
  │                                                                    │
  │                                                                    │
  │    0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F   │
  │                                                                    │
  │  ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╗ │
  │0 ║nul│ ☺ │ ☻ │ ♥ │ ♦ │ ♣ │ ♠ │bel│ bs│tab│ lf│ vt│ ff│ cr│ so│ si║0│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │1 ║ ► │ ◄ │ ↕ │ ‼ │ ¶ │ § │ ▬ │ ↨ │ ↑ │ ↓ │eof│esc│ ∟ │ ↔ │ ▲ │ ▼ ║1│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │2 ║bla│ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ * │ + │ , │ - │ . │ / ║2│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │3 ║ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ : │ ; │ < │ = │ > │ ? ║3│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │4 ║ @ │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ K │ L │ M │ N │ O ║4│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │5 ║ P │ Q │ R │ S │ T │ U │ V │ W │ X │ Y │ Z │ [ │ \ │ ] │ ^ │ _ ║5│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │6 ║ ` │ a │ b │ c │ d │ e │ f │ g │ h │ i │ j │ k │ l │ m │ n │ o ║6│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │7 ║ p │ q │ r │ s │ t │ u │ v │ w │ x │ y │ z │ { │ | │ } │ ~ │ ⌂ ║7│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │8 ║ Ç │ ü │ é │ â │ ä │ à │ å │ ç │ ê │ ë │ è │ ï │ î │ ì │ Ä │ Å ║8│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │9 ║ É │ æ │ Æ │ ô │ ö │ ò │ û │ ù │ ÿ │ Ö │ Ü │ ¢ │ £ │ ¥ │ ₧ │ ƒ ║9│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │A ║ á │ í │ ó │ ú │ ñ │ Ñ │ ª │ º │ ¿ │ ⌐ │ ¬ │ ½ │ ¼ │ ¡ │ « │ » ║A│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │B ║ ░ │ ▒ │ ▓ │ │ │ ┤ │ ╡ │ ╢ │ ╖ │ ╕ │ ╣ │ ║ │ ╗ │ ╝ │ ╜ │ ╛ │ ┐ ║B│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │C ║ └ │ ┴ │ ┬ │ ├ │ ─ │ ┼ │ ╞ │ ╟ │ ╚ │ ╔ │ ╩ │ ╦ │ ╠ │ ═ │ ╬ │ ╧ ║C│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │D ║ ╨ │ ╤ │ ╥ │ ╙ │ ╘ │ ╒ │ ╓ │ ╫ │ ╪ │ ┘ │ ┌ │ █ │ ▄ │ ▌ │ ▐ │ ▀ ║D│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │E ║ α │ ß │ Γ │ π │ Σ │ σ │ µ │ τ │ Φ │ Θ │ Ω │ δ │ ∞ │ φ │ ε │ ∩ ║E│
  │  ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │
  │F ║ ≡ │ ± │ ≥ │ ≤ │ ⌠ │ ⌡ │ ÷ │ ≈ │ ° │ ∙ │ · │ √ │ ⁿ │ ² │ ■ │   ║F│
  │  ╚═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╝ │
  │                                                                    │
  │    0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F   │
  │                                                                    │
  └────────────────────────────────────────────────────────────────────┘*/

call homedrive                               /*get the homedrive envvar.*/

$home=p(!var('$HOME') homedrive)             /*get homedrive of \$\ dir.*/
$home=appenda($home,':')                     /*make the drive ──► drive:*/
$path=p(!var('$PATH') '\$')                  /*get path name of \$  dir.*/
$path=prefixa($PATH,'\')                     /*make the path  ──► \dir  */
$path=appenda($path,'\')                     /*make the path  ──► dir\  */
if \hascol($path) then $path=$home||$path    /*prefix with  $HOME  ?    */

#home=p(!var('#HOME') homedrive)             /*get homedrive of \#\ dir.*/
#home=appenda(#home,':')                     /*make the drive ──► drive:*/
#path=p(!var('#PATH') '\#')                  /*get path name of \#  dir.*/
#path=prefixa(#PATH,'\')                     /*make the path  ──► \dir  */
#path=appenda(#path,'\')                     /*make the path  ──► dir\  */
if \hascol(#path) then #path=#home||#path    /*prefix with  #HOME  ?    */

@rexx     =$path'REXX.EXE'                   /*point to the REXX     cmd*/
@erase    ='ERASE'                           /*point to the ERASE    cmd*/
@copy     ='COPY'                            /*point to the COPY     cmd*/

labs='1 ER J HALT NOVALUE SYNTAX !CAL !ENV !FID !SYS !VAR'
asub.=                                       /*nullify  to-be-got  asub */
rlines=sourceline()

  do k=1 for sourceline()                    /*"read" this file's source*/
  _=sourceline(k)                            /*get a record of this file*/
  if k==1 then asub.1=_                      /*if 1st line, then keep it*/
  parse upper var _ lab ':'                  /*get the label, if present*/
  lab=strip(lab)                             /*remove superflous blanks.*/
  if lab=='' then iterate                    /*no label?  Then ignore it*/
  if wordpos(lab,labs)\==0 then asub.lab=_   /*is LABEL one of the good?*/
  end

nfn=squish(!fn,'_')
@$    =$path

tmp=homedrive()
               _=value("TMP" ,,'ENVIRONMENT')
if _ =='' then _=value("TEMP",,'ENVIRONMENT')
if _\=='' then tmp=left(_,1)

fid.0='.F='tmp":\"nfn'.TMP'
fid.1='.F='tmp":\"nfn'.KEX'
fid.2='.F='tmp":\"nfn'.REX'

 do k=0 to 2
 tfid.k=substr(fid.k,4)
 end

f36=copies('f',36)             /*all 1s.*/
fids=space(  ',('  tfid.1  "),("  tfid.2  '),'  )
@test='TEST'
@generate='GENERATE'
scomm='/*'; ecomm='*/'
xblank=c2x(" ")                        /*hex value of a blank character.*/
tops='.BOX= .C=blue .H=cyan .J=c .KD=,'
cop=0
test=0
gen=0
opts=!

 do forever while opts\==''
 parse var opts y opts
   select
   when y==',' then nop
   when abbrev(@generate,y,3) then gen=1
   when y==@copy then cop=1
   when y==@test then test=1
   otherwise call er 55,y
   end
 end

if test then do
             tfid=tmp':\'!fn".DAT"
               do k=0 to 255
               call $t ".BOX .BLOCK=12 .J=c .E=1 .A=-1 .F="tfid 'x'right("0"d2x(j),2)'='d2c(j)
               end
             exit
             end

if \gen then do
             if !=='' then call $t '.A=-1' tops ".H=yellow .E=1 Issue("!fn @generate')to generate the' !fn "files:" fids
             exit 1
             end

nr=0

  do k=0 to 2
  @erase tfid.k
  end

call $t ".P=99 .A=1" tops !fn 'is creating the temporary program:('tfid.0")as a templete for" fids
call $t tops !fn 'is listing the records as they are being written to('tfid.0")"

pblank='0f'x                   /*pseudo-blank character used by  $T.    */
indentb=copies(pblank,21)      /*☼ chars are translated to blanks by $T.*/

pro.=
pro.1 =asub.1
pro.2 =
pro.3 =scomm indentb"This REXX program was created by" !fn !ft !fm ecomm
pro.4 =scomm indentb"created:" date('W') left(date('U'),6)left(date('S'),4) time() ecomm
pro.30=" "
pro.40="_=space(!!)                      /*get 1st arg, preserve case.*/"
pro.50="                                 /*don't support ? for $BLOCK.*/"
pro.60="if _=='' then _=' '"
pro.62="if words(_)>1 then call er 59"
pro.64="c2bb='character-to-be-blocked'"
pro.70=" "
pro.71="if length(_)==2 then do"
pro.73=indentb"if \datatype(_,'X') then call er 40,_ c2bb"
pro.75=indentb"_=x2c(_)"
pro.77=indentb"end"
pro.79=" "
pro.82="if length(_)\==1 then call er 30,_ c2bb 1"
pro.83="?=0"
pro.84="_=c2x(_)"
pro.97=pblank
pro.98=pblank
pro.99='/*═════════════════════════════general 1-line subs══════════════════════*/'

  do k=1 for 99
  if pro.k\=='' then call wr pro.k
  end



/*──────────────────────*/             /* x'00' (no graphic character)*/

/*──────────────────────*/ _=c2x("☺")  /* x'01' happy face.*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'11        11'||,
'11 11  11 11'||,
'11 11  11 11'||,
'11        11'||,
'11        11'||,
'11  1111  11'||,
'11   11   11'||,
'11        11'||,
'111111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("☻")  /* x'02' solid/reverse happy face*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'111111111111'||,
'111  11  111'||,
'111  11  111'||,
'111111111111'||,
'111111111111'||,
'1111    1111'||,
'11111  11111'||,
'111111111111'||,
'111111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("♥")  /* x'03' heart,   card suit.*/
call charbits ,
'  11    11  '||,
' 1111  1111 '||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
' 1111111111 '||,
' 1111111111 '||,
'  11111111  '||,
'   111111   '||,
'    1111    '||,
'     11     '

/*──────────────────────*/ _=c2x("♦")  /* x'04' diamond, card suit.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   111111   '||,
'  11111111  '||,
' 1111111111 '||,
'111111111111'||,
'111111111111'||,
' 1111111111 '||,
'  11111111  '||,
'   111111   '||,
'    1111    '||,
'     11     '

/*──────────────────────*/ _=c2x("♣")  /* x'05' club,    card suit.*/
call charbits ,
'    1111    '||,
'   111111   '||,
'   111111   '||,
'    1111    '||,
'  11 11 11  '||,
' 1111111111 '||,
'111111111111'||,
'111111111111'||,
' 1111111111 '||,
'  11 11 11  '||,
'     11     '||,
'    1111    '

/*──────────────────────*/ _=c2x("♠")  /* x'06' spade,   card suit.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   111111   '||,
'  11111111  '||,
' 1111111111 '||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
' 1111111111 '||,
'  11 11 11  '||,
'     11     '||,
'    1111    '


/*──────────────────────*/ _='07'x     /* x'07' round bullet.*/
/*──────────────────────*/             /* x'07' bell (beep). */
call charbits ,
'            '||,
'            '||,
'            '||,
'    1111    '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'    1111    '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _='08'x     /* x'08' reverse round bullet.*/
/*──────────────────────*/             /* x'08' b/s (backspace).*/
call charbits ,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'1111    1111'||,
'111      111'||,
'111      111'||,
'111      111'||,
'111      111'||,
'1111    1111'||,
'111111111111'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _='09'x     /* x'09' hollow round bullet.*/
/*──────────────────────*/             /* x'09' tab (horizontal).*/
call charbits ,
'            '||,
'  11111111  '||,
' 1111111111 '||,
' 111    111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 111    111 '||,
' 1111111111 '||,
'  11111111  '||,
'            '

/*──────────────────────*/ _=d2x(10)   /* x'0a' reverse hollow round bullet*/
/*──────────────────────*/             /* x'0a' l/f (line-feed).*/
call charbits ,
'111111111111'||,
'111111111111'||,
'111      111'||,
'11  1111  11'||,
'11 111111 11'||,
'11 111111 11'||,
'11 111111 11'||,
'11 111111 11'||,
'11  1111  11'||,
'111      111'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("♂")  /* x'0b' male symbol (biology).*/
call charbits ,
'      111111'||,
'       11111'||,
'        1111'||,
'       11 11'||,
'   111111  1'||,
'  11111111  '||,
'  11    11  '||,
'  11    11  '||,
'  11    11  '||,
'  11    11  '||,
'  11111111  '||,
'   111111   '

/*──────────────────────*/ _=c2x("♀")  /* x'0c' female symbol (biology).*/
call charbits ,
'   111111   '||,
'  11111111  '||,
'  11    11  '||,
'  11    11  '||,
'  11    11  '||,
'  11111111  '||,
'   111111   '||,
'     11     '||,
'     11     '||,
'  11111111  '||,
'  11111111  '||,
'     11     '

/*──────────────────────*/ _=d2x(13)   /* x'0d' music note.*/
/*──────────────────────*/             /* x'0d' c/r (carriage-return).*/
call charbits ,
' 11111111111'||,
' 11111111111'||,
' 11       11'||,
' 11       11'||,
' 11111111111'||,
' 11111111111'||,
' 11         '||,
' 11         '||,
' 11         '||,
' 11         '||,
'111         '||,
'11          '

/*──────────────────────*/ _=c2x("♫")  /* x'0e' music note.*/
call charbits ,
' 11111111111'||,
' 11111111111'||,
' 11       11'||,
' 11       11'||,
' 11111111111'||,
' 11111111111'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11      111'||,
'111      11 '||,
'11          '

/*──────────────────────*/ _=c2x("☼")  /* x'0f' sun burst.*/
call charbits ,
'1   1111   1'||,
'11  1111  11'||,
' 11 1111 11 '||,
'  11111111  '||,
'111111111111'||,
'11111  11111'||,
'11111  11111'||,
'111111111111'||,
'  11111111  '||,
' 11 1111 11 '||,
'11  1111  11'||,
'1   1111   1'

/*──────────────────────*/ _=c2x("►")  /* x'10' solid right arrow.*/
call charbits ,
'11          '||,
'1111        '||,
'111111      '||,
'11111111    '||,
'1111111111  '||,
'111111111111'||,
'111111111111'||,
'1111111111  '||,
'11111111    '||,
'111111      '||,
'1111        '||,
'11          '

/*──────────────────────*/ _=c2x("◄")  /* x'11' solid  left arrow.*/
call charbits ,
'          11'||,
'        1111'||,
'      111111'||,
'    11111111'||,
'  1111111111'||,
'111111111111'||,
'111111111111'||,
'  1111111111'||,
'    11111111'||,
'      111111'||,
'        1111'||,
'          11'

/*──────────────────────*/ _=c2x("↕")  /* x'12' up-down     arrow.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   111111   '||,
'  11111111  '||,
' 1111111111 '||,
'     11     '||,
'     11     '||,
' 1111111111 '||,
'  11111111  '||,
'   111111   '||,
'    1111    '||,
'     11     '

/*──────────────────────*/ _=c2x("‼")  /* x'13' double exclamation point.*/
call charbits ,
'  11    11  '||,
' 1111  1111 '||,
' 1111  1111 '||,
' 1111  1111 '||,
' 1111  1111 '||,
' 1111  1111 '||,
'  11    11  '||,
'  11    11  '||,
'            '||,
'            '||,
'  11    11  '||,
'  11    11  '

/*──────────────────────*/ _=c2x("¶")  /* x'14' paragraph.*/
call charbits ,
' 11111111111'||,
'111111111111'||,
'11    11  11'||,
'11    11  11'||,
'11    11  11'||,
'11111111  11'||,
' 1111111  11'||,
'      11  11'||,
'      11  11'||,
'      11  11'||,
'      11  11'||,
'      11  11'

/*──────────────────────*/ _=c2x("§")  /* x'15' section.*/
call charbits ,
'    111111  '||,
'   11111111 '||,
'   11       '||,
'    1111    '||,
'   111111   '||,
'   11  11   '||,
'   11  11   '||,
'   111111   '||,
'    1111    '||,
'       11   '||,
' 11111111   '||,
'  111111    '

/*──────────────────────*/ _=c2x("▬")  /* x'16' low square bullet.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '

/*──────────────────────*/ _=c2x("↨")  /* x'17' lined up-down arrow.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   111111   '||,
'  11111111  '||,
' 1111111111 '||,
'     11     '||,
' 1111111111 '||,
'  11111111  '||,
'   111111   '||,
'    1111    '||,
'     11     '||,
'111111111111'

/*──────────────────────*/ _=c2x("↑")  /* x'18' up arrow.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   111111   '||,
'  11 11 11  '||,
' 11  11  11 '||,
'11   11   11'||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("↓")  /* x'19' down arrow.*/
call charbits ,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'11   11   11'||,
' 11  11  11 '||,
'  11 11 11  '||,
'   111111   '||,
'    1111    '||,
'     11     '

/*──────────────────────*/ _=d2x(26)   /* x'1a' right arrow.*/
/*──────────────────────*/             /* x'1a' eof (end-of-file).*/
call charbits ,
'     11     '||,
'      11    '||,
'       11   '||,
'        11  '||,
'         11 '||,
'111111111111'||,
'111111111111'||,
'         11 '||,
'        11  '||,
'       11   '||,
'      11    '||,
'     11     '

/*──────────────────────*/ _=d2x(27)   /* x'1b' left arrow.*/
/*──────────────────────*/             /* x'1b' esc (escape).*/
call charbits ,
'     11     '||,
'    11      '||,
'   11       '||,
'  11        '||,
' 11         '||,
'111111111111'||,
'111111111111'||,
' 11         '||,
'  11        '||,
'   11       '||,
'    11      '||,
'     11     '

/*──────────────────────*/ _=c2x("∟")  /* x'1c' floor.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'   11       '||,
'   11       '||,
'   11       '||,
'   111111   '||,
'   111111   '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("↔")  /* x'1d' left-right arrow.*/
call charbits ,
'            '||,
'    1  1    '||,
'   11  11   '||,
'  111  111  '||,
' 1111  1111 '||,
'111111111111'||,
'111111111111'||,
' 1111  1111 '||,
'  111  111  '||,
'   11  11   '||,
'    1  1    '||,
'            '



/*──────────────────────*/ _=c2x("∟")  /* x'1c' floor.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'   11       '||,
'   11       '||,
'   11       '||,
'   111111   '||,
'   111111   '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("↔")  /* x'1d' left-right arrow.*/
call charbits ,
'            '||,
'    1  1    '||,
'   11  11   '||,
'  111  111  '||,
' 1111  1111 '||,
'111111111111'||,
'111111111111'||,
' 1111  1111 '||,
'  111  111  '||,
'   11  11   '||,
'    1  1    '||,
'            '

/*──────────────────────*/ _=c2x("▲")  /* x'1e' solid up arrow.*/
call charbits ,
'     11     '||,
'     11     '||,
'    1111    '||,
'    1111    '||,
'   111111   '||,
'   111111   '||,
'  11111111  '||,
'  11111111  '||,
' 1111111111 '||,
' 1111111111 '||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("▼")  /* x'1f' solid down arrow.*/
call charbits ,
'111111111111'||,
'111111111111'||,
' 1111111111 '||,
' 1111111111 '||,
'  11111111  '||,
'  11111111  '||,
'   111111   '||,
'   111111   '||,
'    1111    '||,
'    1111    '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x(" ")  /* x'20' blank.*/
                  /*bypass this char, it's assumed as a default ...*/

/*──────────────────────*/ _=c2x("!")  /* x'21' exclaimation point.*/
call charbits ,
'     11     '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'     11     '||,
'     11     '||,
'            '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x('"')  /* x'22' double quote.*/
call charbits ,
'   11  11   '||,
'   11  11   '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("#")  /* x'23' pound, hash, octothorpe.*/
call charbits ,
'   11  11   '||,
'   11  11   '||,
'   11  11   '||,
'111111111111'||,
'111111111111'||,
'   11  11   '||,
'   11  11   '||,
'111111111111'||,
'111111111111'||,
'   11  11   '||,
'   11  11   '||,
'   11  11   '

/*──────────────────────*/ _=c2x("$")  /* x'24' dollar (currancy).*/
call charbits ,
'     11     '||,
' 1111111111 '||,
'111111111111'||,
'11   11     '||,
'11   11     '||,
'11111111111 '||,
' 11111111111'||,
'     11   11'||,
'     11   11'||,
'111111111111'||,
' 1111111111 '||,
'     11     '

/*──────────────────────*/ _=c2x("%")  /* x'25' per cent.*/
call charbits ,
' 111      11'||,
'11111    11 '||,
'11 11   11  '||,
'11111  11   '||,
' 111  11    '||,
'     11     '||,
'    11      '||,
'   11   111 '||,
'  11   11111'||,
' 11    11 11'||,
'11     11111'||,
'1       111 '

/*──────────────────────*/ _=c2x("&")  /* x'26' ampersand, and.*/
call charbits ,
'  1111111   '||,
' 111111111  '||,
' 11     11  '||,
' 11    11   '||,
'  11  11    '||,
'   11111    '||,
'  11111     '||,
' 11   11  11'||,
'11     11 11'||,
'11      1111'||,
'11111111111 '||,
' 11111111111'

/*──────────────────────*/ _=c2x("'")  /* x'27' single quote, apostrophe*/
call charbits ,
'     11     '||,
'     11     '||,
'    11      '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("(")  /* x'28' left  parenthesis.*/
call charbits ,
'     11     '||,
'    11      '||,
'   11       '||,
'  11        '||,
'  11        '||,
' 11         '||,
' 11         '||,
'  11        '||,
'  11        '||,
'   11       '||,
'    11      '||,
'     11     '

/*──────────────────────*/ _=c2x(")")  /* x'29' right parenthesis.*/
call charbits ,
'    11      '||,
'     11     '||,
'      11    '||,
'       11   '||,
'       11   '||,
'        11  '||,
'        11  '||,
'       11   '||,
'       11   '||,
'      11    '||,
'     11     '||,
'    11      '

/*──────────────────────*/ _=c2x("*")  /* x'2a' asterisk, star.*/
call charbits ,
'11        11'||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'    1111    '||,
'111111111111'||,
'111111111111'||,
'    1111    '||,
'   11  11   '||,
'  11    11  '||,
' 11      11 '||,
'11        11'

/*──────────────────────*/ _=c2x("+")  /* x'2b' plus sign.*/
call charbits ,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'     11     '||,
'  11111111  '||,
'  11111111  '||,
'     11     '||,
'     11     '||,
'     11     '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x(",")  /* x'2c' comma.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'    11      '

/*──────────────────────*/ _=c2x("-")  /* x'2d' minus sign.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x(".")  /* x'2e' period, dot, decimal pt.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("/")  /* x'2f' forward slash, solidus.*/
call charbits ,
'          11'||,
'         11 '||,
'        11  '||,
'       11   '||,
'      11    '||,
'     11     '||,
'    11      '||,
'   11       '||,
'  11        '||,
' 11         '||,
'11          '||,
'1           '

/*──────────────────────*/ _=c2x("0")  /* x'30' digit 0 (zero).*/
call charbits ,
'  11111111  '||,
' 1111111111 '||,
' 111    111 '||,
' 11      11 '||,
' 11      11 '||,
' 11  11  11 '||,
' 11  11  11 '||,
' 11      11 '||,
' 11      11 '||,
' 111    111 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("1")  /* x'31' digit 1 (one).*/
call charbits ,
'     11     '||,
'    111     '||,
'   1111     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'   111111   '||,
'   111111   '

/*──────────────────────*/ _=c2x("2")  /* x'32' digit 2 (two).*/
call charbits ,
'  11111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
'       11   '||,
'      11    '||,
'    11      '||,
'  11        '||,
' 11         '||,
' 11      11 '||,
' 1111111111 '||,
' 1111111111 '

/*──────────────────────*/ _=c2x("3")  /* x'33' digit 3 (three).*/
call charbits ,
'  11111111  '||,
' 1111111111 '||,
' 11      11 '||,
'         11 '||,
'        11  '||,
'      111   '||,
'      111   '||,
'        11  '||,
'         11 '||,
' 11      11 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("4")  /* x'34' digit 4 (four).*/
call charbits ,
'      111   '||,
'     1111   '||,
'    11 11   '||,
'   11  11   '||,
'  11   11   '||,
' 1111111111 '||,
' 1111111111 '||,
'       11   '||,
'       11   '||,
'       11   '||,
'      1111  '||,
'      1111  '

/*──────────────────────*/ _=c2x("5")  /* x'35' digit 5 (five).*/
call charbits ,
' 1111111111 '||,
' 1111111111 '||,
' 11         '||,
' 11         '||,
' 11         '||,
' 1111111    '||,
' 11111111   '||,
'        11  '||,
'         11 '||,
' 11      11 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("6")  /* x'36' digit 6 (six).*/
call charbits ,
'   1111111  '||,
'  111111111 '||,
' 11      11 '||,
' 11         '||,
' 11         '||,
' 11 111111  '||,
' 1111111111 '||,
' 111     11 '||,
' 11      11 '||,
' 11      11 '||,
'  11111111  '||,
'   111111   '

/*──────────────────────*/ _=c2x("7")  /* x'37' digit 7 (seven).*/
call charbits ,
' 1111111111 '||,
' 1111111111 '||,
' 11      11 '||,
'         11 '||,
'        11  '||,
'       11   '||,
'      11    '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("8")  /* x'38' digit 8 (eight).*/
call charbits ,
'   111111   '||,
'  11111111  '||,
' 11      11 '||,
' 11      11 '||,
'  11    11  '||,
'   111111   '||,
'   111111   '||,
'  11    11  '||,
' 11      11 '||,
' 11      11 '||,
'  11111111  '||,
'   111111   '

/*──────────────────────*/ _=c2x("9")  /* x'39' digit 9 (nine).*/
call charbits ,
'   1111111  '||,
'  111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 11     111 '||,
'  111111111 '||,
'   11111 11 '||,
'         11 '||,
'         11 '||,
' 11      11 '||,
'  11111111  '||,
'   111111   '

/*──────────────────────*/ _=c2x(":")  /* x'3a' colon.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'            '||,
'            '||,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'            '

/*──────────────────────*/ _=c2x(";")  /* x'3b' semicolon.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'            '||,
'            '||,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'    11      '

/*──────────────────────*/ _=c2x("<")  /* x'3c' less than.*/
call charbits ,
'          11'||,
'        11  '||,
'      11    '||,
'    11      '||,
'  11        '||,
'11          '||,
'11          '||,
'  11        '||,
'    11      '||,
'      11    '||,
'        11  '||,
'          11'

/*──────────────────────*/ _=c2x("=")  /* x'3d' equal sign.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x(">")  /* x'3e' greater than.*/
call charbits ,
'11          '||,
'  11        '||,
'    11      '||,
'      11    '||,
'        11  '||,
'          11'||,
'          11'||,
'        11  '||,
'      11    '||,
'    11      '||,
'  11        '||,
'11          '

/*──────────────────────*/ _=c2x("?")  /* x'3f' question mark.*/
call charbits ,
'    1111    '||,
'   111111   '||,
'  11    11  '||,
' 11      11 '||,
'         11 '||,
'        11  '||,
'       11   '||,
'      11    '||,
'     11     '||,
'     11     '||,
'            '||,
'     11     '

/*──────────────────────*/ _=c2x("@")  /* x'40' commercial at.*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'11        11'||,
'11  11111 11'||,
'11 111111 11'||,
'11 11  11 11'||,
'11 11111111 '||,
'11  111111  '||,
'11          '||,
'11          '||,
' 1111111111 '||,
'  111111111 '

/*──────────────────────*/ _=c2x("A")  /* x'41' letter A, uppercase.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   11  11   '||,
'  11    11  '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
'1111    1111'||,
'1111    1111'

/*──────────────────────*/ _=c2x("B")  /* x'42' letter B, uppercase.*/
call charbits ,
'11111111111 '||,
'111111111111'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11111111111'||,
' 1111111111 '||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
'111111111111'||,
'11111111111 '

/*──────────────────────*/ _=c2x("C")  /* x'43' letter C, uppercase.*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'111       11'||,
'11        11'||,
'11          '||,
'11          '||,
'11          '||,
'11          '||,
'11        11'||,
'111       11'||,
'111111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("D")  /* x'44' letter D, uppercase.*/
call charbits ,
'1111111111  '||,
'11111111111 '||,
' 11      111'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11      111'||,
'11111111111 '||,
'1111111111  '

/*──────────────────────*/ _=c2x("E")  /* x'45' letter E, uppercase.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'11        11'||,
'11          '||,
'11   11     '||,
'1111111     '||,
'1111111     '||,
'11   11     '||,
'11          '||,
'11        11'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("F")  /* x'46' letter F, uppercase.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'11        11'||,
'11          '||,
'11   11     '||,
'1111111     '||,
'1111111     '||,
'11   11     '||,
'11          '||,
'11          '||,
'11          '||,
'11          '

/*──────────────────────*/ _=c2x("G")  /* x'47' letter G, uppercase.*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'111       11'||,
'11          '||,
'11          '||,
'11          '||,
'11   1111111'||,
'11   1111111'||,
'11   11   11'||,
'111      111'||,
'111111111111'||,
' 111111111  '

/*──────────────────────*/ _=c2x("H")  /* x'48' letter H, uppercase.*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'1111    1111'||,
'1111    1111'

/*──────────────────────*/ _=c2x("I")  /* x'49' letter I, uppercase.*/
call charbits ,
'   111111   '||,
'   111111   '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'   111111   '||,
'   111111   '

/*──────────────────────*/ _=c2x("J")  /* x'4a' letter J, uppercase.*/
call charbits ,
'    11111111'||,
'    11111111'||,
'       11   '||,
'       11   '||,
'       11   '||,
'       11   '||,
'11     11   '||,
'11     11   '||,
'11     11   '||,
'111   111   '||,
' 1111111    '||,
'  11111     '

/*──────────────────────*/ _=c2x("K")  /* x'4b' letter K, uppercase.*/
call charbits ,
'1111     111'||,
'1111     11 '||,
' 11     11  '||,
' 11    11   '||,
' 11   11    '||,
' 111111     '||,
' 111111     '||,
' 11   11    '||,
' 11    11   '||,
' 11     11  '||,
'1111     11 '||,
'1111     111'

/*──────────────────────*/ _=c2x("L")  /* x'4c' letter L, uppercase.*/
call charbits ,
'1111        '||,
'1111        '||,
' 11         '||,
' 11         '||,
' 11         '||,
' 11         '||,
' 11         '||,
' 11     1111'||,
' 11     1111'||,
' 11      11 '||,
' 1111111111 '||,
' 1111111111 '

/*──────────────────────*/ _=c2x("M")  /* x'4d' letter M, uppercase.*/
call charbits ,
'111      111'||,
'111      111'||,
' 111    111 '||,
' 1111  1111 '||,
' 1111111111 '||,
' 11 1111 11 '||,
' 11  11  11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'1111    1111'||,
'1111    1111'

/*──────────────────────*/ _=c2x("N")  /* x'4e' letter N, uppercase.*/
call charbits ,
'111     1111'||,
'111     1111'||,
' 111     11 '||,
' 1111    11 '||,
' 11111   11 '||,
' 11 111  11 '||,
' 11  111 11 '||,
' 11   11111 '||,
' 11    1111 '||,
' 11     111 '||,
'1111     111'||,
'1111     111'

/*──────────────────────*/ _=c2x("O")  /* x'4f' letter O, uppercase.*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'111      111'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'111      111'||,
'111111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("P")  /* x'50' letter P, uppercase.*/
call charbits ,
'11111111111 '||,
'111111111111'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11111111111'||,
' 1111111111 '||,
' 11         '||,
' 11         '||,
' 11         '||,
'1111        '||,
'1111        '

/*──────────────────────*/ _=c2x("Q")  /* x'51' letter Q, uppercase.*/
call charbits ,
' 1111111111 '||,
'111111111111'||,
'111      111'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11    11  11'||,
'11    11  11'||,
'11    11  11'||,
'111    11 11'||,
'111111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("R")  /* x'52' letter R, uppercase.*/
call charbits ,
'11111111111 '||,
'111111111111'||,
' 11       11'||,
' 11       11'||,
' 11       11'||,
' 11111111111'||,
' 1111111111 '||,
' 11   11    '||,
' 11    11   '||,
' 11     11  '||,
'1111     11 '||,
'1111      11'

/*──────────────────────*/ _=c2x("S")  /* x'53' letter S, uppercase.*/
call charbits ,
'  11111111  '||,
' 1111111111 '||,
' 111     11 '||,
' 11     1111'||,
' 11         '||,
'  1111111   '||,
'   1111111  '||,
'        111 '||,
'1111     11 '||,
' 11      11 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("T")  /* x'54' letter T, uppercase.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'11   11   11'||,
'11   11   11'||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'    1111    '||,
'    1111    '

/*──────────────────────*/ _=c2x("U")  /* x'55' letter U, uppercase.*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 111    111 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("V")  /* x'56' letter V, uppercase.*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'  11    11  '||,
'  11    11  '||,
'   11  11   '||,
'   11  11   '||,
'    1111    '||,
'     11     '

/*──────────────────────*/ _=c2x("W")  /* x'57' letter W, uppercase.*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11  11  11 '||,
' 11 1111 11 '||,
' 1111111111 '||,
' 1111  1111 '||,
' 111    111 '||,
' 11      11 '||,
' 11      11 '

/*──────────────────────*/ _=c2x("X")  /* x'58' letter X, uppercase.*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'    1111    '||,
'    1111    '||,
'   11  11   '||,
'  11    11  '||,
' 11      11 '||,
'1111    1111'||,
'1111    1111'

/*──────────────────────*/ _=c2x("Y")  /* x'59' letter Y, uppercase.*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'    1111    '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'    1111    '||,
'    1111    '

/*──────────────────────*/ _=c2x("Z")  /* x'5a' letter Z, uppercase.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'11      111 '||,
'11     111  '||,
'      111   '||,
'     111    '||,
'    111     '||,
'   111      '||,
'  111     11'||,
' 111      11'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("[")  /* x'5b' left bracket.*/
call charbits ,
'    1111    '||,
'    1111    '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    1111    '||,
'    1111    '

/*──────────────────────*/ _=c2x("\")  /* x'5c' backslash.*/
call charbits ,
'11          '||,
' 11         '||,
'  11        '||,
'   11       '||,
'    11      '||,
'     11     '||,
'      11    '||,
'       11   '||,
'        11  '||,
'         11 '||,
'          11'||,
'           1'

/*──────────────────────*/ _=c2x("]")  /* x'5d' right bracket.*/
call charbits ,
'   1111     '||,
'   1111     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'   1111     '||,
'   1111     '

/*──────────────────────*/ _=c2x("^")  /* x'5e' carot.*/
call charbits ,
'     11     '||,
'    1111    '||,
'   11  11   '||,
'  11    11  '||,
' 11      11 '||,
'11        11'||,
'1          1'||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("_")  /* x'5f' underbar, underscore.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
' 1111111111 '||,
' 1111111111 '

/*──────────────────────*/ _=c2x("`")  /* x'60' grave accent.*/
call charbits ,
'     11     '||,
'     11     '||,
'      11    '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("a")  /* x'61' letter a, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'   1111111  '||,
'   11111111 '||,
'         11 '||,
'  111111111 '||,
' 1111111111 '||,
' 11      11 '||,
' 1111111111 '||,
'  1111111111'||,
'            '

/*──────────────────────*/ _=c2x("b")  /* x'62' letter b, lowercase. */
call charbits ,
' 11         '||,
' 11         '||,
' 11         '||,
' 111111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
' 111111111  '||,
'            '

/*──────────────────────*/ _=c2x("c")  /* x'63' letter c, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 11         '||,
' 11         '||,
' 11      11 '||,
' 1111111111 '||,
'  11111111  '||,
'            '

/*──────────────────────*/ _=c2x("d")  /* x'64' letter d, lowercase. */
call charbits ,
'         11 '||,
'         11 '||,
'         11 '||,
'  111111111 '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
'  111111111 '||,
'            '

/*──────────────────────*/ _=c2x("e")  /* x'65' letter e, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 1111111111 '||,
' 1111111111 '||,
' 11         '||,
' 111111111  '||,
'  1111111   '||,
'            '

/*──────────────────────*/ _=c2x("f")  /* x'66' letter f, lowercase. */
call charbits ,
'     1111   '||,
'    111111  '||,
'    11  11  '||,
'    11      '||,
'  111111    '||,
'  111111    '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'            '

/*──────────────────────*/ _=c2x("g")  /* x'67' letter g, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'  111111111 '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
'  111111111 '||,
'         11 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("h")  /* x'68' letter h, lowercase. */
call charbits ,
' 11         '||,
' 11         '||,
' 11         '||,
' 11 11111   '||,
' 111111111  '||,
' 111    111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'            '

/*──────────────────────*/ _=c2x("i")  /* x'69' letter i, lowercase. */
call charbits ,
'            '||,
'     11     '||,
'            '||,
'    1111    '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'    1111    '||,
'            '

/*──────────────────────*/ _=c2x("j")  /* x'6a' letter j, lowercase. */
call charbits ,
'            '||,
'        11  '||,
'            '||,
'        11  '||,
'        11  '||,
'        11  '||,
'        11  '||,
'        11  '||,
'  11    11  '||,
'  11    11  '||,
'   111111   '||,
'    1111    '

/*──────────────────────*/ _=c2x("k")  /* x'6b' letter k, lowercase. */
call charbits ,
' 11         '||,
' 11         '||,
' 11    11   '||,
' 11   11    '||,
' 11  11     '||,
' 11 11      '||,
' 111111     '||,
' 111  11    '||,
' 11    11   '||,
' 11     11  '||,
' 11      11 '||,
'            '

/*──────────────────────*/ _=c2x("l")  /* x'6c' letter l, lowercase. */
call charbits ,
'    111     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'    1111    '||,
'            '

/*──────────────────────*/ _=c2x("m")  /* x'6d' letter m, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 1111  111  '||,
' 1111111111 '||,
' 11  11  11 '||,
' 11  11  11 '||,
' 11  11  11 '||,
' 11  11  11 '||,
' 11  11  11 '||,
' 11  11  11 '||,
'            '
/*──────────────────────*/ _=c2x("n")  /* x'6e' letter n, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 111 11111  '||,
' 1111111111 '||,
' 111    111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'            '

/*──────────────────────*/ _=c2x("o")  /* x'6f' letter o, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
'  11111111  '||,
'            '

/*──────────────────────*/ _=c2x("p")  /* x'70' letter p, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 111111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
' 111111111  '||,
' 11         '||,
' 11         '||,
' 11         '

/*──────────────────────*/ _=c2x("q")  /* x'71' letter q, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'  111111111 '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
'  111111111 '||,
'         11 '||,
'         11 '||,
'         11 '

/*──────────────────────*/ _=c2x("r")  /* x'72' letter r, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 11 111111  '||,
' 1111111111 '||,
' 111     11 '||,
' 11         '||,
' 11         '||,
' 11         '||,
' 11         '||,
' 11         '||,
'            '

/*──────────────────────*/ _=c2x("s")  /* x'73' letter s, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
' 1111111111 '||,
' 11         '||,
' 111111111  '||,
'  111111111 '||,
'         11 '||,
' 1111111111 '||,
'  11111111  '||,
'            '

/*──────────────────────*/ _=c2x("t")  /* x'74' letter t, lowercase. */
call charbits ,
'    11      '||,
'    11      '||,
' 11111111   '||,
' 11111111   '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11      '||,
'    11  11  '||,
'    111111  '||,
'     1111   '||,
'            '

/*──────────────────────*/ _=c2x("u")  /* x'75' letter u, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
'  1111111 11'||,
'            '

/*──────────────────────*/ _=c2x("v")  /* x'76' letter v, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'    1111    '||,
'     11     '||,
'            '

/*──────────────────────*/ _=c2x("w")  /* x'77' letter w, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
'11        11'||,
'11        11'||,
'11   11   11'||,
'11  1111  11'||,
'11 11  11 11'||,
'1111    1111'||,
'111      111'||,
'11        11'||,
'            '

/*──────────────────────*/ _=c2x("x")  /* x'78' letter x, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 111    111 '||,
'  11    11  '||,
'   11  11   '||,
'    1111    '||,
'    1111    '||,
'   11  11   '||,
'  11    11  '||,
' 111    111 '||,
'            '

/*──────────────────────*/ _=c2x("y")  /* x'79' letter y, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'  111111111 '||,
'   11111111 '||,
'         11 '||,
' 1111111111 '||,
'  11111111  '

/*──────────────────────*/ _=c2x("z")  /* x'7a' letter z, lowercase. */
call charbits ,
'            '||,
'            '||,
'            '||,
' 1111111111 '||,
' 1111111111 '||,
'        11  '||,
'     111    '||,
'    111     '||,
'  11        '||,
' 1111111111 '||,
' 1111111111 '||,
'            '

/*──────────────────────*/ _=c2x("{")  /* x'7b' left  brace.*/
call charbits ,
'     111    '||,
'    1111    '||,
'    11      '||,
'    11      '||,
'   11       '||,
'  11        '||,
'  11        '||,
'   11       '||,
'    11      '||,
'    11      '||,
'    1111    '||,
'     111    '

/*──────────────────────*/ _=c2x("|")  /* x'7c' broken vertical bar.*/
call charbits ,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("}")  /* x'7d' right brace.*/
call charbits ,
'   111      '||,
'   1111     '||,
'     11     '||,
'     11     '||,
'      11    '||,
'       11   '||,
'       11   '||,
'      11    '||,
'     11     '||,
'     11     '||,
'   1111     '||,
'   111      '

/*──────────────────────*/ _=c2x("~")  /* x'7e' tilde.*/
call charbits ,
'            '||,
'    111     '||,
'  111111 111'||,
'1111  11111 '||,
'111    111  '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("⌂")  /* x'7f' irregular pentagon,house*/
call charbits ,
'     11     '||,
'    1111    '||,
'   11  11   '||,
'  11    11  '||,
' 11      11 '||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("¢")  /* x'9b' cent (currency).*/
call charbits ,
'     11     '||,
'     11     '||,
'  11111111  '||,
' 1111111111 '||,
' 11  11  11 '||,
' 11  11     '||,
' 11  11     '||,
' 11  11  11 '||,
' 1111111111 '||,
'  11111111  '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("£")  /* x'9c' pound (currency).*/
call charbits ,
'    11111   '||,
'   1111111  '||,
'  111   111 '||,
'  11     11 '||,
'  11        '||,
'111111      '||,
'111111      '||,
'  11        '||,
'  11        '||,
' 111      11'||,
'11 111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("¥")  /* x'9d' yen (currency).*/
call charbits ,
'1111    1111'||,
'1111    1111'||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'    1111    '||,
' 1111111111 '||,
' 1111111111 '||,
'     11     '||,
' 1111111111 '||,
' 1111111111 '||,
'     11     '

/*──────────────────────*/ _=c2x("₧")  /* x'9e' peseta (currency).*/
call charbits ,
'11111111    '||,
'111111111   '||,
'11     11   '||,
'11     11   '||,
'111111111   '||,
'11111111  11'||,
'11  11   11 '||,
'11 1111  11 '||,
'11  11    11'||,
'11  11    11'||,
'11  11    11'||,
'11  11   11 '

/*──────────────────────*/ _=c2x("ƒ")  /* x'9f' franc (currency).*/
call charbits ,
'      1111  '||,
'     111111 '||,
'     11  11 '||,
'     11     '||,
'   111111   '||,
'   111111   '||,
'     11     '||,
'     11     '||,
'     11     '||,
' 11  11     '||,
' 111111     '||,
'  1111      '

/*──────────────────────*/ _=c2x("¿")  /* x'a8' Spanish question mark.*/
call charbits ,
'     11     '||,
'            '||,
'     11     '||,
'     11     '||,
'    11      '||,
'   11       '||,
'  11        '||,
' 11         '||,
' 11      11 '||,
'  11    11  '||,
'   111111   '||,
'    1111    '

/*──────────────────────*/ _=c2x("⌐")  /* x'a9' reverse not.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'  11        '||,
'  11        '||,
'  11        '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("¬")  /* x'aa' logical not.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'        11  '||,
'        11  '||,
'        11  '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("½")  /* x'ab' one-half fraction (1/2).*/
call charbits ,
' 1        11'||,
'11       11 '||,
' 1      11  '||,
' 1     11   '||,
' 1    11    '||,
' 1   11 111 '||,
'111 11 1   1'||,
'   11     1 '||,
'  11     1  '||,
' 11     1   '||,
'11     1    '||,
'1      11111'

/*──────────────────────*/ _=c2x("¼")  /* x'ac' one-fourth fraction (1/4)*/
call charbits ,
' 1        11'||,
'11       11 '||,
' 1      11  '||,
' 1     11   '||,
' 1    11    '||,
' 1   11   1 '||,
'111 11   11 '||,
'   11   1 1 '||,
'  11   1  1 '||,
' 11   111111'||,
'11        1 '||,
'1         1 '

/*──────────────────────*/ _=c2x("¡")  /* x'ad' Spanish exclaimation mark*/
call charbits ,
'     11     '||,
'     11     '||,
'            '||,
'     11     '||,
'     11     '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'    1111    '||,
'     11     '

/*──────────────────────*/ _=c2x("«")  /* x'ae' left double carot.*/
call charbits ,
'     11   11'||,
'    11   11 '||,
'   11   11  '||,
'  11   11   '||,
' 11   11    '||,
'11   11     '||,
'11   11     '||,
' 11   11    '||,
'  11   11   '||,
'   11   11  '||,
'    11   11 '||,
'     11   11'

/*──────────────────────*/ _=c2x("»")  /* x'af' much greater than.*/
call charbits ,
'11   11     '||,
' 11   11    '||,
'  11   11   '||,
'   11   11  '||,
'    11   11 '||,
'     11   11'||,
'     11   11'||,
'    11   11 '||,
'   11   11  '||,
'  11   11   '||,
' 11   11    '||,
'11   11     '

/*──────────────────────*/ _=c2x("░")  /* x'b0' light  dither block.*/
call charbits ,
' 11 11 11 11'||,
'1  1  1  1  '||,
' 11 11 11 11'||,
'1  1  1  1  '||,
' 11 11 11 11'||,
'1  1  1  1  '||,
' 11 11 11 11'||,
'1  1  1  1  '||,
' 11 11 11 11'||,
'1  1  1  1  '||,
' 11 11 11 11'||,
'1  1  1  1  '

/*──────────────────────*/ _=c2x("▒")  /* x'b1' medium dither block.*/
call charbits ,
' 11 11 11 11'||,
'11 11 11 11 '||,
' 11 11 11 11'||,
'11 11 11 11 '||,
' 11 11 11 11'||,
'11 11 11 11 '||,
' 11 11 11 11'||,
'11 11 11 11 '||,
' 11 11 11 11'||,
'11 11 11 11 '||,
' 11 11 11 11'||,
'11 11 11 11 '

/*──────────────────────*/ _=c2x("▓")  /* x'b2' heavy  dither block.*/
call charbits ,
'111 111 111 '||,
' 111 111 111'||,
'111 111 111 '||,
' 111 111 111'||,
'111 111 111 '||,
' 111 111 111'||,
'111 111 111 '||,
' 111 111 111'||,
'111 111 111 '||,
' 111 111 111'||,
'111 111 111 '||,
' 111 111 111'

/*──────────────────────*/ _=c2x("│")  /* x'b3' vertical bar.*/
call charbits ,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("─")  /* x'c4' hyphen, dash.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'111111111111'||,
'111111111111'||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("█")  /* x'db' full block.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("▄")  /* x'dc' bottom block.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("▌")  /* x'dd' left block.*/
call charbits ,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '||,
'111111      '

/*──────────────────────*/ _=c2x("▐")  /* x'de' right block.*/
call charbits ,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'||,
'      111111'

/*──────────────────────*/ _=c2x("▀")  /* x'df' top block.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'111111111111'||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("α")  /* x'e0' lowercase Greek alpha.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'  111111  11'||,
' 11111111111'||,
'11     1111 '||,
'11      11  '||,
'11      11  '||,
'11     111  '||,
' 1111111111 '||,
'  111111  11'||,
'            '

/*──────────────────────*/ _=c2x("ß")  /* x'e1' lowercase Greek beta.*/
call charbits ,
'  11111111  '||,
' 1111111111 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
' 111111111  '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
' 111111111  '||,
' 11         '||,
' 11         '

/*──────────────────────*/ _=c2x("Γ")  /* x'e2' uppercase Greek gamma.*/
call charbits ,
'111111111111'||,
'111111111111'||,
'11        11'||,
'11        11'||,
'11          '||,
'11          '||,
'11          '||,
'11          '||,
'11          '||,
'11          '||,
'11          '||,
'11          '

/*──────────────────────*/ _=c2x("π")  /* x'e3' lowercase Greek pi.*/
call charbits ,
'            '||,
'            '||,
' 11111111111'||,
'111111111111'||,
'11  11  11  '||,
'    11  11  '||,
'    11  11  '||,
'    11  11  '||,
'    11  11  '||,
'    11  11  '||,
'   111  111 '||,
'   111   111'

/*──────────────────────*/ _=c2x("Σ")  /* x'e4' uppercase Greek sigma.*/
call charbits ,
'111111111111'||,
' 11111111111'||,
'  11      11'||,
'   11       '||,
'    11      '||,
'     11     '||,
'     11     '||,
'    11      '||,
'   11       '||,
'  11      11'||,
' 11111111111'||,
'111111111111'

/*──────────────────────*/ _=c2x("σ")  /* x'e5' lowercase Greek sigma.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'            '||,
'  1111111111'||,
' 11111111111'||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 1111111111 '||,
'  11111111  '||,
'            '

/*──────────────────────*/ _=c2x("µ")  /* x'e6' lowercase Greek mu.*/
call charbits ,
'            '||,
'            '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 111    111 '||,
' 111111111  '||,
' 11         '||,
'11          '

/*──────────────────────*/ _=c2x("τ")  /* x'e7' uppercase Greek tau.*/
call charbits ,
' 111 111  11'||,
'111111111111'||,
'11   11 111 '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '||,
'     11     '

/*──────────────────────*/ _=c2x("Φ")  /* x'e8' uppercase Greek phi.*/
call charbits ,
'     11     '||,
' 1111111111 '||,
'111111111111'||,
'11   11   11'||,
'11   11   11'||,
'11   11   11'||,
'11   11   11'||,
'11   11   11'||,
'11   11   11'||,
'111111111111'||,
' 1111111111 '||,
'     11     '

/*──────────────────────*/ _=c2x("Θ")  /* x'e9' lowercase Greek theta.*/
call charbits ,
'            '||,
'   111111   '||,
' 1111111111 '||,
'11        11'||,
'11        11'||,
'11 111111 11'||,
'11 111111 11'||,
'11        11'||,
'11        11'||,
' 1111111111 '||,
'   111111   '||,
'            '

/*──────────────────────*/ _=c2x("Ω")  /* x'ea' uppercase Greek omega.*/
call charbits ,
'   111111   '||,
' 1111111111 '||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'11111  11111'||,
'11111  11111'

/*──────────────────────*/ _=c2x("Ω")  /* x'ea' uppercase Greek omega.*/
call charbits ,
'   111111   '||,
' 1111111111 '||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
'11        11'||,
' 11      11 '||,
'  11    11  '||,
'   11  11   '||,
'11111  11111'||,
'11111  11111'

/*──────────────────────*/ _=c2x("δ")  /* x'eb' lowercase Greek delta.*/
call charbits ,
'  11111111  '||,
' 111        '||,
'  111       '||,
'    111     '||,
'      111   '||,
' 1111111111 '||,
'111111111111'||,
'11        11'||,
'11        11'||,
'11        11'||,
'111111111111'||,
' 1111111111 '

/*──────────────────────*/ _=c2x("∞")  /* x'ec' infinity.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'  111  111  '||,
' 11 1111 11 '||,
'11   11   11'||,
'11   11   11'||,
' 11 1111 11 '||,
'  111  111  '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("φ")  /* x'ed' lowercase Greek phi.*/
call charbits ,
'            '||,
'            '||,
'     11     '||,
'  11111111  '||,
' 1111111111 '||,
' 11  11  11 '||,
' 11  11  11 '||,
' 1111111111 '||,
'  11111111  '||,
'     11     '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("ε")  /* x'ee' lowercase epsilon, euro.*/
call charbits ,
'            '||,
'            '||,
'    1111    '||,
'  11111111  '||,
' 11         '||,
' 111111     '||,
' 111111     '||,
' 11         '||,
'  11111111  '||,
'   111111   '||,
'            '||,
'            '
/*──────────────────────*/ _=c2x("∩")  /* x'ef' intersection.*/
call charbits ,
'            '||,
'    1111    '||,
'   111111   '||,
'  11    11  '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("≡")  /* x'f0' congruent.*/
call charbits ,
'            '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("±")  /* x'f1' plus or minus sign.*/
call charbits ,
'     11     '||,
'     11     '||,
'     11     '||,
'  11111111  '||,
'  11111111  '||,
'     11     '||,
'     11     '||,
'     11     '||,
'            '||,
'  11111111  '||,
'  11111111  '||,
'            '
/*──────────────────────*/ _=c2x("≥")  /* x'f2' greater than or equal to*/
call charbits ,
' 111        '||,
'   111      '||,
'     111    '||,
'       111  '||,
'         111'||,
'       111  '||,
'     111    '||,
'   111      '||,
' 111        '||,
'            '||,
' 11111111111'||,
' 11111111111'

/*──────────────────────*/ _=c2x("≤")  /* x'f3' less than or equal to.*/
call charbits ,
'        111 '||,
'      111   '||,
'    111     '||,
'  111       '||,
'111         '||,
'  111       '||,
'    111     '||,
'      111   '||,
'        111 '||,
'            '||,
'11111111111 '||,
'11111111111 '

/*──────────────────────*/ _=c2x("÷")  /* x'f6' division.*/
call charbits ,
'            '||,
'            '||,
'     11     '||,
'     11     '||,
'            '||,
'111111111111'||,
'111111111111'||,
'            '||,
'     11     '||,
'     11     '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("≈")  /* x'f7' approximately equal to.*/
call charbits ,
'            '||,
'    111     '||,
'  111111 111'||,
'1111  11111 '||,
'111    111  '||,
'            '||,
'    111     '||,
'  111111 111'||,
'1111  11111 '||,
'111    111  '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("°")  /* x'f8' degree.*/
call charbits ,
'    1111    '||,
'   111111   '||,
'   11  11   '||,
'   11  11   '||,
'   111111   '||,
'    1111    '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("∙")  /* x'f9' bullet.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'    1111    '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'    1111    '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("√")  /* x'fb' root, radical, check mark.*/
call charbits ,
'      111111'||,
'      111111'||,
'      11    '||,
'      11    '||,
'      11    '||,
'      11    '||,
'111   11    '||,
'1111  11    '||,
'   11 11    '||,
'    1111    '||,
'     111    '||,
'      11    '

/*──────────────────────*/ _=c2x("ⁿ")  /* x'fc' letter n, superscript.*/
call charbits ,
' 111 11111  '||,
' 1111111111 '||,
' 111    111 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
' 11      11 '||,
'            '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("²")  /* x'fd' digit 2, superscript.*/
call charbits ,
'  11111111  '||,
' 1111111111 '||,
' 111    111 '||,
'      111   '||,
'    11      '||,
'  11        '||,
' 1111111111 '||,
' 1111111111 '||,
'            '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/ _=c2x("■")  /* x'fe' square bullet.*/
call charbits ,
'            '||,
'            '||,
'            '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'   111111   '||,
'            '||,
'            '||,
'            '

/*──────────────────────*/             /* x'ff' (no graphic character).*/


epi.=
epi.1="return left(?,36,0)"
epi.2=" "

nextepi=80                             /*start the epilogue at 80  (+1).*/

  do k=2 to words(labs)                /*write all lines got with labels*/
  _=word(labs,k)                       /*get a label from the label list*/
  call epidef asub._                   /*define the next EPI asub,      */
  end

epi.99="/* ∙∙∙ end-of-program. ∙∙∙ */"

  do k=0 for 100
  if epi.k\=='' then call wr epi.k
  end

call $t tops !fn 'has written('commas(nr)")records to the file:("tfid.0')'
call $t '.P=1' tops !fn 'is creating the files:' fids "from the templete("tfid.0')'

  do k=1 for 2
  call it @copy tfid.0 tfid.k '>NUL'
  end

call $t '.P=1' tops !fn 'is invoking REXX to optimize the' fids "programs."

  do k=1 for 2
  @rexx '/l /o' tfid.k
  end

if cop then do
            call $t '.P=1' tops !fn 'is coping the' fids "programs to("@$')'
              do k=1 for 2
              call it @copy tfid.1 @$ "/Y >NUL"
              end
            end
       else call $t '.P=1' tops 'The' fids "programs should be copied to the("@$')directory.'

  do k=0 to 0+2*cop
  @erase tfid.k
  end

exit


/*─────────────────────────────CHARBITS subroutine──────────────────────*/
charbits:stro=arg(1)
_=right('0'_,2)
if length(stro)\==12*12 then call er 30,x2c(_) 'bitstring' 144
strb=translate(stro,0,' ')
if \isbin(strb) then call er 48,"bitstring" x2c(_)
str=b2x(strb)
strb=translate(str,,0)
len=length(str)
strl=reverse(strip(reverse(strb),'T'))
l00s=len-length(strl)
strr=strip(strb,'T')
r00s=len-length(strip(strb,'T'))

  select
  when str==copies(0,36)      then nstr=0                  /*all 0s.*/
  when str==f36               then nstr="copies('f',36)"   /*all 1s.*/
  when (l00s-3>r00s) & l00s>5 then nstr="j('"strl"')"      /*leading 0s.*/
  otherwise                        nstr="'"strr"'"     /*no trailing 0s.*/
  end

nstr=translate(nstr,0,' ')
__=x2c(_)
if c2d(__)<32 then __=_                   /*if < '20x', don't show char.*/
call wr "if _=='"_"'" scomm right(__,2) ecomm 'then ?='nstr
return 0


/*═════════════════════════════general 1-line subs══════════════════════*/
!all:!!=!;!=space(!);upper !;call !fid;!nt=right(!var('OS'),2)=='NT';!cls=word('CLS VMFCLEAR CLRSCREEN',1+!cms+!tso*2);if arg(1)\==1 then return 0;if wordpos(!,'? ?SAMPLES ?AUTHOR ?FLOW')==0 then return 0;!call=']$H';call '$H' !fn !;!call=;return 1
!cal:if symbol('!CALL')\=="VAR" then !call=;return !call
!env:!env='ENVIRONMENT';if !sys=='MSDOS'|!brexx|!r4|!roo then !env='SYSTEM';if !os2 then !env='OS2'!env;!ebcdic=1=='f0'x;if !crx then !env='DOS';return
!fid:parse upper source !sys !fun !fid . 1 . . !fn !ft !fm .;call !sys;if !dos then do;_=lastpos('\',!fn);!fm=left(!fn,_);!fn=substr(!fn,_+1);parse var !fn !fn '.' !ft;end;return word(0 !fn !ft !fm,1+('0'arg(1)))
!rex:parse upper version !ver !vernum !verdate .;!brexx='BY'==!vernum;!kexx='KEXX'==!ver;!pcrexx='REXX/PERSONAL'==!ver|'REXX/PC'==!ver;!r4='REXX-R4'==!ver;!regina='REXX-REGINA'==left(!ver,11);!roo='REXX-ROO'==!ver;call !env;return
!sys:!cms=!sys=='CMS';!os2=!sys=='OS2';!tso=!sys=='TSO'|!sys=='MVS';!vse=!sys=='VSE';!dos=pos('DOS',!sys)\==0|pos('WIN',!sys)\==0|!sys=='CMD';!crx=left(!sys,6)=='DOSCRX';call !rex;return
!var:call !fid;if !kexx then return space(dosenv(arg(1)));return space(value(arg(1),,!env))
$fact!:procedure;parse arg x _ .;l=length(x);n=l-length(strip(x,'T',"!"));if n<=-n|_\==''|arg()\==1 then return x;z=left(x,l-n);if z<0|\isint(z) then return x;return $fact(z,n)
$fact:procedure;parse arg x _ .;arg ,n ! .;n=p(n 1);if \isint(n) then n=0;if x<-n|\isint(x)|n<1|_||!\==''|arg()>2 then return x||copies("!",max(1,n));!=1;s=x//n;if s==0 then s=n;do j=s to x by n;!=!*j;end;return !
$sfxa:parse arg ,s,m;arg u,c;if pos(left(s,2),u)\==0 then do j=length(s) to compare(s,c)-1 by -1;if right(u,j)\==left(c,j) then iterate;_=left(u,length(u)-j);if isnum(_) then return m*_;leave;end;return arg(1)
$sfxf:parse arg y;if right(y,1)=='!' then y=$fact!(y);if \isnum(y) then y=$sfxz();if isnum(y) then return y;return $sfxm(y)
$sfxm:parse arg z;arg w;b=1000;if right(w,1)=='I' then do;z=shorten(z);w=z;upper w;b=1024;end;p=pos(right(w,1),'KMGTPEZYXWVU');if p==0 then return arg(1);n=shorten(z);r=num(n,f,1);if isnum(r) then return r*b**p;return arg(1)
$sfxz:return $sfxa($sfxa($sfxa($sfxa($sfxa($sfxa(y,'PAIRs',2),'DOZens',12),'SCore',20),'GREATGRoss',1728),'GRoss',144),'GOOGOLs',1e100)
$t:!call="]$T";call '$T' arg(1);!call=;return
appenda:procedure;parse arg x,_;if right(x,length(_))\==_ then x=x||_;return x
changestr:procedure;parse arg o,h,n;r=;w=length(o);if w==0 then return n||h;do forever;parse var h y (o) _ +(w) h;if _=='' then return r||y;r=r||y||n;end
commas:procedure; parse arg _; n=_'.9'; #=123456789; b=verify(n,#,"M"); e=verify(n,#'0',,verify(n,#"0.",'M'))-4;    do j=e  to b  by -3; _=insert(',',_,j); end  /*j*/;    return _
epidef:nextepi=nextepi+1;epi.nextepi=arg(1);return
er:parse arg _1,_2;call '$ERR' "14"p(_1) p(word(_1,2) !fid(1)) _2;if _1<0 then return _1;exit result
err:call er '-'arg(1),arg(2);return ''
erx:call er '-'arg(1),arg(2);exit ''
halt:call er .1
hascol:return pos(':',arg(1))\==0
homedrive:if symbol('HOMEDRIVE')\=="VAR" then homedrive=p(!var('HOMEDRIVE') 'C:');return homedrive
int:if \isint(num(arg(1),arg(2))) then call er 92,arg(1) arg(2);return arg(1)/1
int:int=num(arg(1),arg(2));if \isint(int) then call er 92,arg(1) arg(2);return int/1
isbin:return datatype(arg(1),'B')
isint:return datatype(arg(1),'W')
isnum:return datatype(arg(1),'N')
it:"ARG"(1);if rc==0 then return;call er 68,rc arg(1)
j:return right(arg(1),36,0)
novalue:!sigl=sigl;call er 17,!fid(2) !fid(3) !sigl condition('D') sourceline(!sigl)
num:procedure;parse arg x .,f,q;if x=='' then return x;if isnum(x) then return x/1;x=space(translate(x,,','),0);if \isnum(x) then x=$sfxf(x);if isnum(x) then return x/1;if q==1 then return x;if q=='' then call er 53,x f;call erx 53,x f
p:return word(arg(1),1)
prefixa:procedure;parse arg x,_;if left(x,length(_))\==_ then x=_||x;return x
shorten:procedure;parse arg a,n;return left(a,max(0,length(a)-p(n 1)))
squish:return space(translate(arg(1),,word(arg(2) ',',1)),0)
syntax:!sigl=sigl;call er 13,!fid(2) !fid(3) !sigl !cal() condition('D') sourceline(!sigl)
wr:nr=nr+1;call $t fid.0 ".C=darkblue .UT='0F"xblank"'x" arg(1);return

[[Category:REXX library routines]]