# vga_text_font.fon - font for generating VGA text - pure font data # author Neil Franklin, last modification 2009.03.11 # --- character code usage # full maximal possible font is 256 characters, 0x00..0xFF, 0..255 # char codes 0x00..0x0F for system, pseudo-chars for colour switching # codes 0x00..0x01 for 2 invert/reverse and underline # codes 0x02..0x03 for 2 swap foreground with alternate colour # code 0x0 for 1 swap background with alternate colour # rest unused are 11 that can be used for users own characters # char codes 0x10..0x1F for 2^(2*2)=16 2x2pixel/char block graphics # char codes 0x20..0x7E for the standard 95 printable ASCII characters # char code 0x7F for system, frame buffer row abort pseudo-char code # char codes 0x80..0xFF for various graphics characters # codes 0x80..0x8F for 2^(2*2)=16 frame square elements # codes 0x90..0x9F for 2^(2*2)=16 frame round elements # codes 0xA0..0xAF for 2*8=16 bar graph elements # codes 0xB0..0xBF for 8+4+4=16 line and corner elements # rest unused # --- syntax for this file # comments with # are allowed anywhere, same also empty lines # SECTION # lines must have exactly 1 space # names must be in upper case letters, and preferably short # NAME # lines must have exactly 2 spaces # names must be in upper case letters, and preferably short # SECTION and NAME names may not be identical # CHAR # everything after the first space is a comment # lines must be followed immediately by 8 lines of segm data # the stuff after CHAR is only comment, for users checks # the first character in this file will always appear at 0x00 # the 128th (number 0x7F/127) character will be overwritten, and is unusable # the NAME ABORT must be defined, and have the value 0x7F # violating this may give an genfont error, or avra error, or simply crash # error checking is fairly minimal, genfont is only a simple shell script # --- character definitions # char codes 0x00..0x0F for system, pseudo-chars for colour switching # name the 0x04..0x0F for easier usage SECTION SYSTEM NAME INV 0x00 # invert/reverse foreground and background colour NAME ULIN 0x01 # underline, invert/reverse only bottom segment NAME FG1 0x02 # swap foreground with alternate colour 1 NAME FG2 0x03 # swap foreground with alternate colour 2 NAME BG3 0x04 # swap background with alternate colour 3 NAME UN0101 0x05 # unused 0101 NAME UN0110 0x06 # unused 0110 NAME UN0111 0x07 # unused 0111 NAME UN1000 0x08 # unused 1000 NAME UN1001 0x09 # unused 1001 NAME UN1010 0x0A # unused 1010 NAME UN1011 0x0B # unused 1011 NAME UN1100 0x0C # unused 1100 NAME UN1101 0x0D # unused 1101 NAME UN1110 0x0E # unused 1110 NAME UN1111 0x0F # unused 1111 CHAR system invert/reverse foreground and background colour 0x00 ....FFFFXXXXBBBB ....FFFFXXXXBBBB ....FFFFXXXXBBBB ....FFFFXXXXBBBB ....FFFFXXXXBBBB ....FFFFXXXXBBBB ....FFFFXXXXBBBB ....FFFFXXXXBBBB CHAR system underline invert/reverse only bottom segment 0x01 ................ ................ ................ ................ ................ ................ ................ ....FFFFXXXXBBBB CHAR system wap foreground with alternate colour 1 0x02 ....FFFFXXXX1111 ....FFFFXXXX1111 ....FFFFXXXX1111 ....FFFFXXXX1111 ....FFFFXXXX1111 ....FFFFXXXX1111 ....FFFFXXXX1111 ....FFFFXXXX1111 CHAR system wap foreground with alternate colour 2 0x03 ....FFFFXXXX2222 ....FFFFXXXX2222 ....FFFFXXXX2222 ....FFFFXXXX2222 ....FFFFXXXX2222 ....FFFFXXXX2222 ....FFFFXXXX2222 ....FFFFXXXX2222 CHAR system swap background with alternate colour 3 0x04 ....BBBBXXXX3333 ....BBBBXXXX3333 ....BBBBXXXX3333 ....BBBBXXXX3333 ....BBBBXXXX3333 ....BBBBXXXX3333 ....BBBBXXXX3333 ....BBBBXXXX3333 CHAR system unused 0101 0x05 ................ ................ ....@@@@@@@@.... ........@@@@.... ........@@@@.... ....@@@@@@@@.... ................ ................ CHAR system unused 0110 0x06 ................ ................ ....@@@@@@@@.... ........@@@@.... ....@@@@........ ....@@@@@@@@.... ................ ................ CHAR system unused 0111 0x07 ................ ................ ....@@@@@@@@.... ........@@@@.... ....@@@@@@@@.... ....@@@@@@@@.... ................ ................ CHAR system unused 1000 0x08 ................ ................ ....@@@@@@@@.... ....@@@@........ ................ ....@@@@@@@@.... ................ ................ CHAR system unused 1001 0x09 ................ ................ ....@@@@@@@@.... ....@@@@........ ........@@@@.... ....@@@@@@@@.... ................ ................ CHAR system unused 1010 0x0A ................ ................ ....@@@@@@@@.... ....@@@@........ ....@@@@........ ....@@@@@@@@.... ................ ................ CHAR system unused 1011 0x0B ................ ................ ....@@@@@@@@.... ....@@@@........ ....@@@@@@@@.... ....@@@@@@@@.... ................ ................ CHAR system unused 1100 0x0C ................ ................ ....@@@@@@@@.... ....@@@@@@@@.... ................ ....@@@@@@@@.... ................ ................ CHAR system unused 1101 0x0D ................ ................ ....@@@@@@@@.... ....@@@@@@@@.... ........@@@@.... ....@@@@@@@@.... ................ ................ CHAR system unused 1110 0x0E ................ ................ ....@@@@@@@@.... ....@@@@@@@@.... ....@@@@........ ....@@@@@@@@.... ................ ................ CHAR system unused 1111 0x0F ................ ................ ....@@@@@@@@.... ....@@@@@@@@.... ....@@@@@@@@.... ....@@@@@@@@.... ................ ................ # char codes 0x10..0x1F for 2^(2*2)=16 2x2pixel/char block graphics SECTION BLOCKGRAPHIC # numbering: topleft topright / bottmleft bottomright # the 4 bits 3..0 correspond to the 4 possible pixels, 1 = on # placed as: 32 # 10 NAME BG0000 0x10 # block 00/00 NAME BG0001 0x11 # block 00/01 NAME BG0010 0x12 # block 00/10 NAME BG0011 0x13 # block 00/11 NAME BG0100 0x14 # block 01/00 NAME BG0101 0x15 # block 01/01 NAME BG0110 0x16 # block 01/10 NAME BG0111 0x17 # block 01/11 NAME BG1000 0x18 # block 10/00 NAME BG1001 0x19 # block 10/01 NAME BG1010 0x1A # block 10/10 NAME BG1011 0x1B # block 10/11 NAME BG1100 0x1C # block 11/00 NAME BG1101 0x1D # block 11/01 NAME BG1110 0x1E # block 11/10 NAME BG1111 0x1F # block 11/11 CHAR block graphic 00/00 0x10 ................ ................ ................ ................ ................ ................ ................ ................ CHAR block graphic 00/01 0x11 ................ ................ ................ ................ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ CHAR block graphic 00/10 0x12 ................ ................ ................ ................ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ CHAR block graphic 00/11 0x13 ................ ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR block graphic 01/00 0x14 ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ................ ................ ................ ................ CHAR block graphic 01/01 0x15 ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ CHAR block graphic 01/10 0x16 ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ CHAR block graphic 01/11 0x17 ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR block graphic 10/00 0x18 @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ ................ ................ ................ ................ CHAR block graphic 10/01 0x19 @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ CHAR block graphic 10/10 0x1A @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ CHAR block graphic 10/11 0x1B @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR block graphic 11/00 0x1C @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ ................ CHAR block graphic 11/01 0x1D @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ CHAR block graphic 11/10 0x1E @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ @@@@@@@@........ CHAR block graphic 11/11 0x1F @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ # char codes 0x20..0x7E for the standard 95 printable ASCII characters SECTION ASCII CHAR ASCII " " 0x20 ................ ................ ................ ................ ................ ................ ................ ................ CHAR ASCII "!" 0x21 ................ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ................ ....@@@@........ ................ CHAR ASCII """ 0x22 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ ................ ................ ................ CHAR ASCII "#" 0x23 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... CHAR ASCII "$" 0x24 ................ ....@@@@........ ....@@@@@@@@.... @@@@@@@@........ ....@@@@........ ....@@@@@@@@.... @@@@@@@@........ ....@@@@........ CHAR ASCII "%" 0x25 ................ @@@@....@@@@.... ........@@@@.... ....@@@@........ ....@@@@........ @@@@............ @@@@....@@@@.... ................ CHAR ASCII "&" 0x26 ................ ....@@@@........ @@@@....@@@@.... ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ................ CHAR ASCII "'" 0x27 ................ ....@@@@........ @@@@............ ................ ................ ................ ................ ................ CHAR ASCII "(" 0x28 ................ ....@@@@........ @@@@............ @@@@............ @@@@............ @@@@............ ....@@@@........ ................ CHAR ASCII ")" 0x29 ................ ....@@@@........ ........@@@@.... ........@@@@.... ........@@@@.... ........@@@@.... ....@@@@........ ................ CHAR ASCII "*" 0x2A ................ ................ ....@@@@........ @@@@@@@@@@@@.... ....@@@@........ @@@@@@@@@@@@.... ....@@@@........ ................ CHAR ASCII "+" 0x2B ................ ................ ....@@@@........ ....@@@@........ @@@@@@@@@@@@.... ....@@@@........ ....@@@@........ ................ CHAR ASCII "," 0x2C ................ ................ ................ ................ ................ ....@@@@........ ....@@@@........ @@@@............ CHAR ASCII "-" 0x2D ................ ................ ................ ................ @@@@@@@@@@@@.... ................ ................ ................ CHAR ASCII "." 0x2E ................ ................ ................ ................ ................ ....@@@@........ ....@@@@........ ................ CHAR ASCII "/" 0x2F ................ ........@@@@.... ........@@@@.... ....@@@@........ ....@@@@........ @@@@............ @@@@............ ................ CHAR ASCII "0" 0x30 ................ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "1" 0x31 ................ ....@@@@........ @@@@@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@@@@@.... ................ CHAR ASCII "2" 0x32 ................ ....@@@@........ @@@@....@@@@.... ........@@@@.... ....@@@@........ @@@@............ @@@@@@@@@@@@.... ................ CHAR ASCII "3" 0x33 ................ @@@@@@@@........ ........@@@@.... ....@@@@........ ........@@@@.... ........@@@@.... @@@@@@@@........ ................ CHAR ASCII "4" 0x34 ................ @@@@............ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... ........@@@@.... ........@@@@.... ................ CHAR ASCII "5" 0x35 ................ @@@@@@@@@@@@.... @@@@............ @@@@@@@@........ ........@@@@.... ........@@@@.... @@@@@@@@........ ................ CHAR ASCII "6" 0x36 ................ ....@@@@........ @@@@............ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "7" 0x37 ................ @@@@@@@@@@@@.... ........@@@@.... ........@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ................ CHAR ASCII "8" 0x38 ................ ....@@@@........ @@@@....@@@@.... ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "9" 0x39 ................ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ........@@@@.... ....@@@@........ ................ CHAR ASCII ":" 0x3A ................ ................ ....@@@@........ ....@@@@........ ................ ....@@@@........ ....@@@@........ ................ CHAR ASCII ";" 0x3B ................ ................ ....@@@@........ ....@@@@........ ................ ....@@@@........ ....@@@@........ @@@@............ CHAR ASCII "<" 0x3C ................ ................ ........@@@@.... ....@@@@........ @@@@............ ....@@@@........ ........@@@@.... ................ CHAR ASCII "=" 0x3D ................ ................ ................ @@@@@@@@@@@@.... ................ @@@@@@@@@@@@.... ................ ................ CHAR ASCII ">" 0x3E ................ ................ @@@@............ ....@@@@........ ........@@@@.... ....@@@@........ @@@@............ ................ CHAR ASCII "?" 0x3F ................ @@@@@@@@........ ........@@@@.... ....@@@@........ ....@@@@........ ................ ....@@@@........ ................ CHAR ASCII "@" 0x40 ................ ....@@@@........ @@@@....@@@@.... @@@@@@@@@@@@.... @@@@@@@@@@@@.... @@@@............ ....@@@@@@@@.... ................ CHAR ASCII "A" 0x41 ................ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "B" 0x42 ................ @@@@@@@@........ @@@@....@@@@.... @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@........ ................ CHAR ASCII "C" 0x43 ................ ....@@@@........ @@@@....@@@@.... @@@@............ @@@@............ @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "D" 0x44 ................ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@........ ................ CHAR ASCII "E" 0x45 ................ @@@@@@@@@@@@.... @@@@............ @@@@@@@@........ @@@@............ @@@@............ @@@@@@@@@@@@.... ................ CHAR ASCII "F" 0x46 ................ @@@@@@@@@@@@.... @@@@............ @@@@............ @@@@@@@@........ @@@@............ @@@@............ ................ CHAR ASCII "G" 0x47 ................ ....@@@@........ @@@@....@@@@.... @@@@............ @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ................ CHAR ASCII "H" 0x48 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "I" 0x49 ................ @@@@@@@@@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@@@@@.... ................ CHAR ASCII "J" 0x4A ................ @@@@@@@@@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ @@@@............ ................ CHAR ASCII "K" 0x4B ................ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@........ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "L" 0x4C ................ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@@@@@@@@@.... ................ CHAR ASCII "M" 0x4D ................ @@@@....@@@@.... @@@@@@@@@@@@.... @@@@@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "N" 0x4E ................ @@@@@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "O" 0x4F ................ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "P" 0x50 ................ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@........ @@@@............ @@@@............ ................ CHAR ASCII "Q" 0x51 ................ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... ....@@@@@@@@.... ................ CHAR ASCII "R" 0x52 ................ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@........ @@@@@@@@........ @@@@....@@@@.... ................ CHAR ASCII "S" 0x53 ................ ....@@@@@@@@.... @@@@............ ....@@@@........ ........@@@@.... ........@@@@.... @@@@@@@@........ ................ CHAR ASCII "T" 0x54 ................ @@@@@@@@@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ................ CHAR ASCII "U" 0x55 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "V" 0x56 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ....@@@@........ ................ CHAR ASCII "W" 0x57 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... @@@@@@@@@@@@.... @@@@....@@@@.... ................ CHAR ASCII "X" 0x58 ................ @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "Y" 0x59 ................ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ................ CHAR ASCII "Z" 0x5A ................ @@@@@@@@@@@@.... ........@@@@.... ....@@@@........ ....@@@@........ @@@@............ @@@@@@@@@@@@.... ................ CHAR ASCII "[" 0x5B ................ ....@@@@@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@@@@@.... ................ CHAR ASCII "\" 0x5C ................ @@@@............ @@@@............ ....@@@@........ ....@@@@........ ........@@@@.... ........@@@@.... ................ CHAR ASCII "]" 0x5D ................ @@@@@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@........ ................ CHAR ASCII "^" 0x5E ................ ....@@@@........ ....@@@@........ @@@@....@@@@.... ................ ................ ................ ................ CHAR ASCII "_" 0x5F ................ ................ ................ ................ ................ ................ ................ @@@@@@@@@@@@.... CHAR ASCII "`" 0x60 ................ ....@@@@........ ........@@@@.... ................ ................ ................ ................ ................ CHAR ASCII "a" 0x61 ................ ................ ................ ....@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ................ CHAR ASCII "b" 0x62 ................ @@@@............ @@@@............ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@........ ................ CHAR ASCII "c" 0x63 ................ ................ ................ ....@@@@@@@@.... @@@@............ @@@@............ ....@@@@@@@@.... ................ CHAR ASCII "d" 0x64 ................ ........@@@@.... ........@@@@.... ....@@@@@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ................ CHAR ASCII "e" 0x65 ................ ................ ................ ....@@@@........ @@@@....@@@@.... @@@@@@@@........ ....@@@@@@@@.... ................ CHAR ASCII "f" 0x66 ................ ........@@@@.... ....@@@@........ @@@@@@@@@@@@.... ....@@@@........ ....@@@@........ ....@@@@........ ................ CHAR ASCII "g" 0x67 ................ ................ ................ ....@@@@@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ........@@@@.... @@@@@@@@........ CHAR ASCII "h" 0x68 ................ @@@@............ @@@@............ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "i" 0x69 ................ ....@@@@........ ................ @@@@@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@@@@@.... ................ CHAR ASCII "j" 0x6A ................ ....@@@@........ ................ @@@@@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ @@@@............ CHAR ASCII "k" 0x6B ................ @@@@............ @@@@............ @@@@....@@@@.... @@@@@@@@........ @@@@@@@@........ @@@@....@@@@.... ................ CHAR ASCII "l" 0x6C ................ @@@@@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@@@@@.... ................ CHAR ASCII "m" 0x6D ................ ................ ................ @@@@@@@@........ @@@@@@@@@@@@.... @@@@@@@@@@@@.... @@@@@@@@@@@@.... ................ CHAR ASCII "n" 0x6E ................ ................ ................ @@@@@@@@........ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ................ CHAR ASCII "o" 0x6F ................ ................ ................ ....@@@@........ @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ................ CHAR ASCII "p" 0x70 ................ ................ ................ @@@@@@@@........ @@@@....@@@@.... @@@@@@@@........ @@@@............ @@@@............ CHAR ASCII "q" 0x71 ................ ................ ................ ....@@@@@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ........@@@@.... ........@@@@.... CHAR ASCII "r" 0x72 ................ ................ ................ @@@@@@@@........ @@@@....@@@@.... @@@@............ @@@@............ ................ CHAR ASCII "s" 0x73 ................ ................ ................ ....@@@@@@@@.... @@@@............ ....@@@@@@@@.... @@@@@@@@........ ................ CHAR ASCII "t" 0x74 ................ ....@@@@........ ....@@@@........ @@@@@@@@@@@@.... ....@@@@........ ....@@@@........ ........@@@@.... ................ CHAR ASCII "u" 0x75 ................ ................ ................ @@@@....@@@@.... @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ................ CHAR ASCII "v" 0x76 ................ ................ ................ @@@@....@@@@.... @@@@....@@@@.... ....@@@@........ ....@@@@........ ................ CHAR ASCII "w" 0x77 ................ ................ ................ @@@@....@@@@.... @@@@....@@@@.... @@@@@@@@@@@@.... @@@@@@@@@@@@.... ................ CHAR ASCII "x" 0x78 ................ ................ ................ @@@@....@@@@.... ....@@@@........ ....@@@@........ @@@@....@@@@.... ................ CHAR ASCII "y" 0x79 ................ ................ ................ @@@@....@@@@.... @@@@....@@@@.... ....@@@@@@@@.... ........@@@@.... @@@@@@@@........ CHAR ASCII "z" 0x7A ................ ................ ................ @@@@@@@@@@@@.... ....@@@@........ @@@@............ @@@@@@@@@@@@.... ................ CHAR ASCII "{" 0x7B ................ ........@@@@.... ....@@@@........ ....@@@@........ @@@@............ ....@@@@........ ....@@@@........ ........@@@@.... CHAR ASCII "|" 0x7C ................ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ................ CHAR ASCII "}" 0x7D ................ @@@@............ ....@@@@........ ....@@@@........ ........@@@@.... ....@@@@........ ....@@@@........ @@@@............ CHAR ASCII "~" 0x7E ................ ....@@@@@@@@.... @@@@@@@@........ ................ ................ ................ ................ ................ # char code 0x7F for system, frame buffer requires row abort pseudo-char code # use non-printable ASCII DEL code, leave 0x00..0x1F block for other stuff SECTION SYSABORT NAME ABORT 0x7F CHAR system abort 0x7F ................ ................ ................ ................ ................ ................ ................ ................ # char codes 0x80..0x8F for 2^(2*2)=16 frame square elements SECTION FRAMESQUARE # numbering: top / left right / bottom # the 4 bits 3..0 correspond to the 4 possible line parts, 1 = on # placed as: 3 # 2 1 # 0 NAME FS0000 0x80 # blocks 0/00/0 NAME FS0001 0x81 # blocks 0/00/1 NAME FS0010 0x82 # blocks 0/01/0 NAME FS0011 0x83 # blocks 0/01/1 NAME FS0100 0x84 # blocks 0/10/0 NAME FS0101 0x85 # blocks 0/10/1 NAME FS0110 0x86 # blocks 0/11/0 NAME FS0111 0x87 # blocks 0/11/1 NAME FS1000 0x88 # blocks 1/00/0 NAME FS1001 0x89 # blocks 1/00/1 NAME FS1010 0x8A # blocks 1/01/0 NAME FS1011 0x8B # blocks 1/01/1 NAME FS1100 0x8C # blocks 1/10/0 NAME FS1101 0x8D # blocks 1/10/1 NAME FS1110 0x8E # blocks 1/11/0 NAME FS1111 0x8F # blocks 1/11/1 CHAR frame square element 0/00/0 0x80 ................ ................ ................ ....@@@@........ ....@@@@........ ................ ................ ................ CHAR frame square element 0/00/1 0x81 ................ ................ ................ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 0/01/0 0x82 ................ ................ ................ ....@@@@@@@@@@@@ ....@@@@@@@@@@@@ ................ ................ ................ CHAR frame square element 0/01/1 0x83 ................ ................ ................ ....@@@@@@@@@@@@ ....@@@@@@@@@@@@ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 0/10/0 0x84 ................ ................ ................ @@@@@@@@........ @@@@@@@@........ ................ ................ ................ CHAR frame square element 0/10/1 0x85 ................ ................ ................ @@@@@@@@........ @@@@@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 0/11/0 0x86 ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ CHAR frame square element 0/11/1 0x87 ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 1/00/0 0x88 ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ................ ................ ................ CHAR frame square element 1/00/1 0x89 ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 1/01/0 0x8A ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@@@@@@@@@ ....@@@@@@@@@@@@ ................ ................ ................ CHAR frame square element 1/01/1 0x8B ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@@@@@@@@@ ....@@@@@@@@@@@@ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 1/10/0 0x8C ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@........ @@@@@@@@........ ................ ................ ................ CHAR frame square element 1/10/1 0x8D ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@........ @@@@@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame square element 1/11/0 0x8E ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ CHAR frame square element 1/11/1 0x8F ....@@@@........ ....@@@@........ ....@@@@........ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ....@@@@........ ....@@@@........ ....@@@@........ # char codes 0x90..0x9F for 2^(2*2)=16 frame round elements SECTION FRAMEROUND # numbering: top / left right / bottom # the 4 bits 3..0 correspond to the 4 possible line parts, 1 = on # placed as: 3 # 2 1 # 0 NAME FR0000 0x90 # blocks 0/00/0 NAME FR0001 0x91 # blocks 0/00/1 NAME FR0010 0x92 # blocks 0/01/0 NAME FR0011 0x93 # blocks 0/01/1 NAME FR0100 0x94 # blocks 0/10/0 NAME FR0101 0x95 # blocks 0/10/1 NAME FR0110 0x96 # blocks 0/11/0 NAME FR0111 0x97 # blocks 0/11/1 NAME FR1000 0x98 # blocks 1/00/0 NAME FR1001 0x99 # blocks 1/00/1 NAME FR1010 0x9A # blocks 1/01/0 NAME FR1011 0x9B # blocks 1/01/1 NAME FR1100 0x9C # blocks 1/10/0 NAME FR1101 0x9D # blocks 1/10/1 NAME FR1110 0x9E # blocks 1/11/0 NAME FR1111 0x9F # blocks 1/11/1 CHAR frame round element 0/00/0 0x90 ................ ................ ................ ................ ................ ................ ................ ................ CHAR frame round element 0/00/1 0x91 ................ ................ ................ ................ ................ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame round element 0/01/0 0x92 ................ ................ ................ ........@@@@@@@@ ........@@@@@@@@ ................ ................ ................ CHAR frame round element 0/01/1 0x93 ................ ................ ................ ............@@@@ ........@@@@@@@@ ........@@@@.... ....@@@@........ ....@@@@........ CHAR frame round element 0/10/0 0x94 ................ ................ ................ @@@@............ @@@@............ ................ ................ ................ CHAR frame round element 0/10/1 0x95 ................ ................ ................ ................ @@@@............ @@@@............ ....@@@@........ ....@@@@........ CHAR frame round element 0/11/0 0x96 ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ CHAR frame round element 0/11/1 0x97 ................ ................ ................ ............@@@@ @@@@....@@@@@@@@ @@@@....@@@@.... ....@@@@........ ....@@@@........ CHAR frame round element 1/00/0 0x98 ....@@@@........ ....@@@@........ ....@@@@........ ................ ................ ................ ................ ................ CHAR frame round element 1/00/1 0x99 ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ CHAR frame round element 1/01/0 0x9A ....@@@@........ ....@@@@........ ........@@@@.... ........@@@@@@@@ ............@@@@ ................ ................ ................ CHAR frame round element 1/01/1 0x9B ....@@@@........ ....@@@@........ ........@@@@.... ........@@@@@@@@ ........@@@@@@@@ ........@@@@.... ....@@@@........ ....@@@@........ CHAR frame round element 1/10/0 0x9C ....@@@@........ ....@@@@........ @@@@............ @@@@............ ................ ................ ................ ................ CHAR frame round element 1/10/1 0x9D ....@@@@........ ....@@@@........ @@@@............ @@@@............ @@@@............ @@@@............ ....@@@@........ ....@@@@........ CHAR frame round element 1/11/0 0x9E ....@@@@........ ....@@@@........ @@@@....@@@@.... @@@@....@@@@@@@@ ............@@@@ ................ ................ ................ CHAR frame round element 1/11/1 0x9F ....@@@@........ ....@@@@........ @@@@....@@@@.... @@@@....@@@@@@@@ @@@@....@@@@@@@@ @@@@....@@@@.... ....@@@@........ ....@@@@........ # char codes 0xA0..0xAF for 2*8=16 bar graph elements SECTION BARGRAPHIC # numbering: top gradient values 0..7 (0/nothing/bottom..7) # then common 8 (8/maximum/all = 0/minimum/nothing # then 9..15 bottom gradient values 1..7 (nothing/bottom..max/top) NAME BR00 0xA0 # bar height 0-0 NAME BR01 0xA1 # bar height 0-1 NAME BR02 0xA2 # bar height 0-2 NAME BR03 0xA3 # bar height 0-3 NAME BR04 0xA4 # bar height 0-4 NAME BR05 0xA5 # bar height 0-5 NAME BR06 0xA6 # bar height 0-6 NAME BR07 0xA7 # bar height 0-7 NAME BR08 0xA8 # bar height 0-8 NAME BR18 0xA9 # bar height 1-8 NAME BR28 0xAA # bar height 2-8 NAME BR38 0xAB # bar height 3-8 NAME BR48 0xAC # bar height 4-8 NAME BR58 0xAD # bar height 5-8 NAME BR68 0xAE # bar height 6-8 NAME BR78 0xAF # bar height 7-8 CHAR bar graph 0-0 0xA0 ................ ................ ................ ................ ................ ................ ................ ................ CHAR bar graph 0-1 0xA1 ................ ................ ................ ................ ................ ................ ................ @@@@@@@@@@@@@@@@ CHAR bar graph 0-2 0xA2 ................ ................ ................ ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 0-3 0xA3 ................ ................ ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 0-4 0xA4 ................ ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 0-5 0xA5 ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 0-6 0xA6 ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 0-7 0xA7 ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 0-8 0xA8 @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR bar graph 1-8 0xA9 @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ CHAR bar graph 2-8 0xAA @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ CHAR bar graph 3-8 0xAB @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ CHAR bar graph 4-8 0xAC @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ ................ CHAR bar graph 5-8 0xAD @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ ................ ................ CHAR bar graph 6-8 0xAE @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ ................ ................ ................ CHAR bar graph 7-8 0xAF @@@@@@@@@@@@@@@@ ................ ................ ................ ................ ................ ................ ................ # char codes 0xB0..0xBF for 8+4+4=16 line and corner elements SECTION LINECORNER # numbering: segment pairs 0+1 2+3 4+5 6+7 from top to bottom NAME HL0 0xB0 # horizontal line 0 NAME HL1 0xB1 # horizontal line 1 NAME HL2 0xB2 # horizontal line 2 NAME HL3 0xB3 # horizontal line 3 # numbering: pixels 0..3 from left to right NAME VL0 0xB4 # vertical line 0 NAME VL1 0xB5 # vertical line 1 NAME VL2 0xB6 # vertical line 2 NAME VL3 0xB7 # vertical line 3 # naming: top/bottom left/right NAME CRTL 0xB8 # corner top/left NAME CRTR 0xB9 # corner top/right NAME CRBL 0xBA # corner bottom/left NAME CRBR 0xBB # corner bottom/right # naming: top/bottom left/right NAME TRTL 0xBC # triangle top/left NAME TRTR 0xBD # triangle top/right NAME TRBL 0xBE # triangle bottom/left NAME TRBR 0xBF # triangle bottom/right CHAR horizontal line 0 0xB0 @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ ................ ................ ................ CHAR horizontal line 1 0xB1 ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ ................ ................ CHAR horizontal line 2 0xB2 ................ ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ................ ................ CHAR horizontal line 3 0xB3 ................ ................ ................ ................ ................ ................ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR vertical line 0 0xB4 @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ CHAR vertical line 1 0xB5 ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ ....@@@@........ CHAR vertical line 2 0xB6 ........@@@@.... ........@@@@.... ........@@@@.... ........@@@@.... ........@@@@.... ........@@@@.... ........@@@@.... ........@@@@.... CHAR vertical line 3 0xB7 ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ CHAR corner top/left 0xB8 @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ CHAR corner top/right 0xB9 @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ CHAR corner bottom/left 0xBA @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@............ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR corner bottom/right 0xBB ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ ............@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR triangle top/left 0xBC @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@.... @@@@@@@@@@@@.... @@@@@@@@........ @@@@@@@@........ @@@@............ @@@@............ CHAR triangle top/right 0xBD @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ ....@@@@@@@@@@@@ ....@@@@@@@@@@@@ ........@@@@@@@@ ........@@@@@@@@ ............@@@@ ............@@@@ CHAR triangle bottom/left 0xBE @@@@............ @@@@............ @@@@@@@@........ @@@@@@@@........ @@@@@@@@@@@@.... @@@@@@@@@@@@.... @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ CHAR triangle bottom/right 0xBF ............@@@@ ............@@@@ ........@@@@@@@@ ........@@@@@@@@ ....@@@@@@@@@@@@ ....@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@