#http://aspell.net/charsets/iso6429.html

function ACK () {
    # ACKNOWLEDGE

    echo -n ""
}
function APC () {
    # APPLICATION PROGRAM COMMAND

    echo -n "_"
}
function BEL () {
    # BELL

    echo -n ""
}
function BPH () {
    # BREAK PERMITTED HERE

    echo -n "B"
}
function BS () {
    # BACKSPACE

    echo -n ""
}
function CAN () {
    # CANCEL

    echo -n ""
}
function CBT () {
    # CURSOR BACKWARD TABULATION
    local PN="$1"
    echo -n "[${PN}Z"
}
function CCH () {
    # CANCEL CHARACTER

    echo -n "T"
}
function CHA () {
    # CURSOR CHARACTER ABSOLUTE
    local PN="$1"
    echo -n "[${PN}G"
}
function CHT () {
    # CURSOR FORWARD TABULATION
    local PN="$1"
    echo -n "[${PN}I"
}
function CMD () {
    # CODING METHOD DELIMITER

    echo -n "d"
}
function CNL () {
    # CURSOR NEXT LINE
    local PN="$1"
    echo -n "[${PN}E"
}
function CPL () {
    # CURSOR PRECEDING LINE
    local PN="$1"
    echo -n "[${PN}F"
}
function CPR () {
    # ACTIVE POSITION REPORT
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2}R"
}
function CR () {
    # CARRIAGE RETURN
    echo -n "
"
}
function CSI () {
    # CONTROL SEQUENCE INTRODUCER

    echo -n "["
}
function CTC () {
    # CURSOR TABULATION CONTROL

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res})W"
}
function CUB () {
    # CURSOR LEFT
    local PN="$1"
    echo -n "[${PN}D"
}
function CUD () {
    # CURSOR DOWN
    local PN="$1"
    echo -n "[${PN}B"
}
function CUF () {
    # CURSOR RIGHT
    local PN="$1"
    echo -n "[${PN}C"
}
function CUP () {
    # CURSOR POSITION
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2}H"
}
function CUU () {
    # CURSOR UP
    local PN="$1"
    echo -n "[${PN}A"
}
function CVT () {
    # CURSOR LINE TABULATION
    local PN="$1"
    echo -n "[${PN}Y"
}
function DA () {
    # DEVICE ATTRIBUTES
    local PS="$1"
    echo -n "[${PS}c"
}
function DAQ () {
    # DEFINE AREA QUALIFICATION

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res})o"
}
function DCH () {
    # DELETE CHARACTER
    local PN="$1"
    echo -n "[${PN}P"
}
function DCS () {
    # DEVICE CONTROL STRING

    echo -n "P"
}
function DC1 () {
    # DEVICE CONTROL ONE

    echo -n ""
}
function DC2 () {
    # DEVICE CONTROL TWO

    echo -n ""
}
function DC3 () {
    # DEVICE CONTROL THREE

    echo -n ""
}
function DC4 () {
    # DEVICE CONTROL FOUR

    echo -n ""
}
function DL () {
    # DELETE LINE
    local PN="$1"
    echo -n "[${PN}M"
}
function DLE () {
    # DATA LINK ESCAPE

    echo -n ""
}
function DMI () {
    # DISABLE MANUAL INPUT

    echo -n "\`"
}
function DSR () {
    # DEVICE STATUS REPORT
    local PS="$1"
    echo -n "[${PS}n"
}
function DTA () {
    # DIMENSION TEXT AREA
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2} T"
}
function EA () {
    # ERASE IN AREA
    local PS="$1"
    echo -n "[${PS}O"
}
function ECH () {
    # ERASE CHARACTER
    local PN="$1"
    echo -n "[${PN}X"
}
function ED () {
    # ERASE IN PAGE
    local PS="$1"
    echo -n "[${PS}J"
}
function EF () {
    # ERASE IN FIELD
    local PS="$1"
    echo -n "[${PS}N"
}
function EL () {
    # ERASE IN LINE
    local PS="$1"
    echo -n "[${PS}K"
}
function EM () {
    # END OF MEDIUM

    echo -n ""
}
function EMI () {
    # ENABLE MANUAL INPUT

    echo -n "b"
}
function ENQ () {
    # ENQUIRY

    echo -n ""
}
function EOT () {
    # END OF TRANSMISSION

    echo -n ""
}
function EPA () {
    # END OF GUARDED AREA

    echo -n "W"
}
function ESA () {
    # END OF SELECTED AREA

    echo -n "G"
}
function ESC () {
    # ESCAPE

    echo -n ""
}
function ETB () {
    # END OF TRANSMISSION BLOCK

    echo -n ""
}
function ETX () {
    # END OF TEXT

    echo -n ""
}
function FF () {
    # FORM FEED

    echo -n ""
}
function FNK () {
    # FUNCTION KEY
    local PN="$1"
    echo -n "[${PN} W"
}
function FNT () {
    # FONT SELECTION
    local PS1="$1";local PS2="$2"
    echo -n "[${PS1};${PS2} D"
}
function GCC () {
    # GRAPHIC CHARACTER COMBINATION
    local PS="$1"
    echo -n "[${PS} _"
}
function GSM () {
    # GRAPHIC SIZE MODIFICATION
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2} B"
}
function GSS () {
    # GRAPHIC SIZE SELECTION
    local PN="$1"
    echo -n "[${PN} C"
}
function HPA () {
    # CHARACTER POSITION ABSOLUTE
    local PN="$1"
    echo -n "[${PN}\`"
}
function HPB () {
    # CHARACTER POSITION BACKWARD
    local PN="$1"
    echo -n "[${PN}j"
}
function HPR () {
    # CHARACTER POSITION FORWARD
    local PN="$1"
    echo -n "[${PN}a"
}
function HT () {
    # CHARACTER TABULATION

    echo -n "	"
}
function HTJ () {
    # CHARACTER TABULATION WITH JUSTIFICATION

    echo -n "I"
}
function HTS () {
    # CHARACTER TABULATION SET

    echo -n "H"
}
function HVP () {
    # CHARACTER AND LINE POSITION
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2}f"
}
function ICH () {
    # INSERT CHARACTER
    local PN="$1"
    echo -n "[${PN}@"
}
function IDCS () {
    # IDENTIFY DEVICE CONTROL STRING
    local PS="$1"
    echo -n "[${PS} O"
}
function IGS () {
    # IDENTIFY GRAPHIC SUBREPERTOIRE
    local PS="$1"
    echo -n "[${PS} M"
}
function IL () {
    # INSERT LINE
    local PN="$1"
    echo -n "[${PN}L"
}
function INT () {
    # INTERRUPT

    echo -n "a"
}
function IS1 () {
    # INFORMATION SEPARATOR ONE (US - UNIT SEPARATOR)

    echo -n ""
}
function IS2 () {
    # INFORMATION SEPARATOR TWO (RS - RECORD SEPARATOR)

    echo -n ""
}
function IS3 () {
    # INFORMATION SEPARATOR THREE (GS - GROUP SEPARATOR)

    echo -n ""
}
function IS4 () {
    # INFORMATION SEPARATOR FOUR (FS - FILE SEPARATOR)

    echo -n ""
}
function JFY () {
    # JUSTIFY

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res}) F"
}
function LF () {
    # LINE FEED

    echo -n
"
"
}
function LS0 () {
    # LOCKING-SHIFT ZERO

    echo -n ""
}
function LS1 () {
    # LOCKING-SHIFT ONE

    echo -n "~"
}
function LS2 () {
    # LOCKING-SHIFT TWO

    echo -n "}"
}
function LS3 () {
    # LOCKING-SHIFT THREE

    echo -n "|"
}
function MC () {
    # MEDIA COPY
    local PS="$1"
    echo -n "[${PS}i"
}
function MW () {
    # MESSAGE WAITING

    echo -n "U"
}
function NAK () {
    # NEGATIVE ACKNOWLEDGE

    echo -n ""
}
function NBH () {
    # NO BREAK HERE

    echo -n "C"
}
function NEL () {
    # NEXT LINE

    echo -n "E"
}
function NP () {
    # NEXT PAGE
    local PN="$1"
    echo -n "[${PN}U"
}
function NUL () {
    # NULL
    :
}
function OSC () {
    # OPERATING SYSTEM COMMAND

    echo -n "]"
}
function PEC () {
    # PRESENTATION EXPAND OR CONTRACT
    local PS="$1"
    echo -n "[${PS} Z"
}
function PFS () {
    # PAGE FORMAT SELECTION
    local PS="$1"
    echo -n "[${PS} J"
}
function PLD () {
    # PARTIAL LINE FORWARD

    echo -n "K"
}
function PLU () {
    # PARTIAL LINE BACKWARD

    echo -n "L"
}
function PM () {
    # PRIVACY MESSAGE

    echo -n "^"
}
function PP () {
    # PRECEDING PAGE
    local PN="$1"
    echo -n "[${PN}V"
}
function PPA () {
    # PAGE POSITION ABSOLUTE
    local PN="$1"
    echo -n "[${PN} P"
}
function PPB () {
    # PAGE POSITION BACKWARD
    local PN="$1"
    echo -n "[${PN} R"
}
function PPR () {
    # PAGE POSITION FORWARD
    local PN="$1"
    echo -n "[${PN} Q"
}
function PTX () {
    # PARALLEL TEXTS
    local PS="$1"
    echo -n "[${PS}\\"
}
function PU1 () {
    # PRIVATE USE ONE

    echo -n "Q"
}
function PU2 () {
    # PRIVATE USE TWO

    echo -n "R"
}
function QUAD () {
    # QUAD

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res}) H"
}
function REP () {
    # REPEAT
    local PN="$1"
    echo -n "[${PN}b"
}
function RI () {
    # REVERSE LINE FEED

    echo -n "M"
}
function RIS () {
    # RESET TO INITIAL STATE

    echo -n "c"
}
function RM () {
    # RESET MODE

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res})l"
}
function SACS () {
    # SET ADDITIONAL CHARACTER SEPARATION
    local PN="$1"
    echo -n "[${PN} \\"
}
function SAPV () {
    # SELECT ALTERNATIVE PRESENTATION VARIANTS

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res}) ]"
}
function SCI () {
    # SINGLE CHARACTER INTRODUCER

    echo -n "Z"
}
function SCO () {
    # SELECT CHARACTER ORIENTATION
    local PS="$1"
    echo -n "[${PS} e"
}
function SCP () {
    # SELECT CHARACTER PATH
    local PS1="$1";local PS2="$2"
    echo -n "[${PS1};${PS2} k"
}
function SCS () {
    # SET CHARACTER SPACING
    local PN="$1"
    echo -n "[${PN} g"
}
function SD () {
    # SCROLL DOWN
    local PN="$1"
    echo -n "[${PN}T"
}
function SDS () {
    # START DIRECTED STRING
    local PS="$1"
    echo -n "[${PS}]"
}
function SEE () {
    # SELECT EDITING EXTENT
    local PS="$1"
    echo -n "[${PS}Q"
}
function SEF () {
    # SHEET EJECT AND FEED
    local PS1="$1";local PS2="$2"
    echo -n "[${PS1};${PS2} Y"
}
function SGR () {
    # SELECT GRAPHIC RENDITION

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res})m"
}
function SHS () {
    # SELECT CHARACTER SPACING
    local PS="$1"
    echo -n "[${PS} K"
}
function SI () {
    # SHIFT-IN

    echo -n ""
}
function SIMD () {
    # SELECT IMPLICIT MOVEMENT DIRECTION
    local PS="$1"
    echo -n "[${PS}^"
}
function SL () {
    # SCROLL LEFT
    local PN="$1"
    echo -n "[${PN} @"
}
function SLH () {
    # SET LINE HOME
    local PN="$1"
    echo -n "[${PN} U"
}
function SLL () {
    # SET LINE LIMIT
    local PN="$1"
    echo -n "[${PN} V"
}
function SLS () {
    # SET LINE SPACING
    local PN="$1"
    echo -n "[${PN} h"
}
function SM () {
    # SET MODE

    echo -n "[$(semicolon='';res='';for arg in $@;do res=${res}${semicolon}${arg};semicolon=';';done;echo -n ${res})h"
}
function SO () {
    # SHIFT-OUT

    echo -n ""
}
function SOH () {
    # START OF HEADING

    echo -n ""
}
function SOS () {
    # START OF STRING

    echo -n "X"
}
function SPA () {
    # START OF GUARDED AREA

    echo -n "V"
}
function SPD () {
    # SELECT PRESENTATION DIRECTIONS
    local PS1="$1";local PS2="$2"
    echo -n "[${PS1};${PS2} S"
}
function SPH () {
    # SET PAGE HOME
    local PN="$1"
    echo -n "[${PN} i"
}
function SPI () {
    # SPACING INCREMENT
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2} G"
}
function SPL () {
    # SET PAGE LIMIT
    local PN="$1"
    echo -n "[${PN} j"
}
function SPQR () {
    # SELECT PRINT QUALITY AND RAPIDITY
    local PS="$1"
    echo -n "[${PS} X"
}
function SR () {
    # SCROLL RIGHT
    local PN="$1"
    echo -n "[${PN} A"
}
function SRCS () {
    # SET REDUCED CHARACTER SEPARATION
    local PN="$1"
    echo -n "[${PN} f"
}
function SRS () {
    # START REVERSED STRING
    local PS="$1"
    echo -n "[${PS}["
}
function SSA () {
    # START OF SELECTED AREA

    echo -n "F"
}
function SSU () {
    # SELECT SIZE UNIT
    local PS="$1"
    echo -n "[${PS} I"
}
function SSW () {
    # SET SPACE WIDTH
    local PN="$1"
    echo -n "[${PN} ["
}
function SS2 () {
    # SINGLE-SHIFT TWO

    echo -n "N"
}
function SS3 () {
    # SINGLE-SHIFT THREE

    echo -n "O"
}
function ST () {
    # STRING TERMINATOR

    echo -n "\\"
}
function STAB () {
    # SELECTIVE TABULATION
    local PS="$1"
    echo -n "[${PS} ^"
}
function STS () {
    # SET TRANSMIT STATE

    echo -n "S"
}
function STX () {
    # START OF TEXT

    echo -n ""
}
function SU () {
    # SCROLL UP
    local PN="$1"
    echo -n "[${PN}S"
}
function SUB () {
    # SUBSTITUTE

    echo -n ""
}
function SVS () {
    # SELECT LINE SPACING
    local PS="$1"
    echo -n "[${PS} L"
}
function SYN () {
    # SYNCHRONOUS IDLE

    echo -n ""
}
function TAC () {
    # TABULATION ALIGNED CENTRED
    local PN="$1"
    echo -n "[${PN} b"
}
function TALE () {
    # TABULATION ALIGNED LEADING EDGE
    local PN="$1"
    echo -n "[${PN} a"
}
function TATE () {
    # TABULATION ALIGNED TRAILING EDGE
    local PN="$1"
    echo -n "[${PN} \`"
}
function TBC () {
    # TABULATION CLEAR
    local PS="$1"
    echo -n "[${PS}g"
}
function TCC () {
    # TABULATION CENTRED ON CHARACTER
    local PN1="$1";local PN2="$2"
    echo -n "[${PN1};${PN2} c"
}
function TSR () {
    # TABULATION STOP REMOVE
    local PN="$1"
    echo -n "[${PN} d"
}
function TSS () {
    # THIN SPACE SPECIFICATION
    local PN="$1"
    echo -n "[${PN} E"
}
function VPA () {
    # LINE POSITION ABSOLUTE
    local PN="$1"
    echo -n "[${PN}d"
}
function VPB () {
    # LINE POSITION BACKWARD
    local PN="$1"
    echo -n "[${PN}k"
}
function VPR () {
    # LINE POSITION FORWARD
    local PN="$1"
    echo -n "[${PN}e"
}
function VT () {
    # LINE TABULATION

    echo -n ""
}
function VTS () {
    # LINE TABULATION SET

    echo -n "J"
}



# Legacy variable. Please use the above functions.

export NORMAL="$(SGR 0)"
export BOLD="$(SGR 1)"
export UNDERLINE="$(SGR 4)"
export BLINK="$(SGR 5)"
export INVERT="$(SGR 7)"
export NO_BOLD="$(SGR 22)"
export NO_UNDERLINE="$(SGR 24)"
export NO_BLINK="$(SGR 25)"
export NO_INVERT="$(SGR 27)"
export BLACK="$(SGR 30)"
export RED="$(SGR 31)"
export GREEN="$(SGR 32)"
export YELLOW="$(SGR 33)"
export BLUE="$(SGR 34)"
export MAGENTA="$(SGR 35)"
export CYAN="$(SGR 36)"
export WHITE="$(SGR 37)"
export BLACK_BACK="$(SGR 40)"
export RED_BACK="$(SGR 41)"
export GREEN_BACK="$(SGR 42)"
export YELLOW_BACK="$(SGR 43)"
export BLUE_BACK="$(SGR 44)"
export MAGENTA_BACK="$(SGR 45)"
export CYAN_BACK="$(SGR 46)"
export WHITE_BACK="$(SGR 47)"

export GOTO_HOME="$(IS2)"
export CLEAR_HOME="$(FF)"
export CLEAR_SCREEN="$(RIS)"

export CSI='['
export ISO6429ICH="${CSI}@"
export ISO6429CUU="${CSI}A"
export ISO6429CUD="${CSI}B"
export ISO6429CUF="${CSI}C"
export ISO6429CUB="${CSI}D"
export ISO6429CUP="${CSI}H"
export ISO6429ED="${CSI}J"
export ISO6429EL="${CSI}K"
export ISO6429IL="${CSI}L"
export ISO6429DL="${CSI}M"
export ISO6429DCH="${CSI}P"
export ISO6429SM="${CSI}h"
export ISO6429RM="${CSI}l"

#### .ansicodes                       --                     --          ####
ViewGit