ANSI X3.64 on Yhdysvaltain kansallisen standardi-instituutin ANSI:n 1970-luvulla määrittelemä merkkipohjaisten päätteiden kuvaruudunohjausstandardi. Useimmat nykyiset pääte-emulaattorit ovat VT100-yhteensopivia ja toteuttavat siten tämän standardin. Monet ohjauskoodit ovat kuitenkin eri pääte- ja ohjelmistovalmistajien toteuttamia laajennuksia.

Useimmat ANSI X3.64 -ohjauskoodit alkavat ASCII-ohjauskoodilla esc (desimaali 27, heksadesimaali 1B), jota seuraa yleensä kirjain tai avaava hakasulku [. Muutamia ohjauskoodeja:

  • Kuvaruudun tyhjennys: esc [ 2 J
  • Kohdistimen siirto: esc [ rivi ; sarake H (rivi ja sarake desimaalilukuina)
  • Lihavointi päälle: esc [ 1 m
  • Kaikki muotoilut pois päältä: esc [ 0 m

Useimmissa ohjelmointikielissä ohjauskoodeja käytetään tulostamalla niitä suoraan päätelaitteelle, joka on useimmiten standardiulostulossa. Esimerkiksi C-kielessä ANSI X3.64 -yhteensopivan päätteen kuvaruudun voisi tyhjentää seuraavasti:

  printf("\033[2J");

Unix-ympäristössä käytetään termcap- tai terminfo-kirjastoa kuvaamaan eri päätteiden ominaisuuksia ja oikeat ohjauskoodit haetaan tietokannasta TERM-ympäristömuuttujan perusteella. curses- ja ncurses-kirjastot tarjoavat C-kielellä ohjelmointirajapinnan jolloin ohjelmoijan ei tarvitse tuntea päätteiden ohjauskoodeja.[1] X/Openin X/Open Curses määrittelee standardina tekstin syötön ja näytön päätteille.[2][3]

IBM PC -yhteensopivien koneiden MS-DOS-käyttöjärjestelmän ANSI.SYS-laiteajuri toteuttaa nimensä mukaisesti suuren osan ANSI X3.64 -standardista mutta sisältää myös joitakin omia lisäyksiään. Ehkä merkittävin lisäys on mahdollisuus värien käyttöön ohjauskoodeilla, joita kutsutaan usein virheellisesti "ANSI-värikoodeiksi". Kullekin merkille voi asettaa teksti- ja taustavärin 8 vaihtoehdosta. Tekstivärin voi asettaa myös kirkkaaksi, joten tekstivärivaihtoehtoja on käytännössä 16. PC-koneissa puolestaan harva ohjelma käyttää päätteenohjauskoodeja, vaan useimmat kirjoittavat nopeuden tähden suoraan näyttömuistiin, jonka sijainti ja toimintatapa on tunnettu.

ANSI-taide on ASCII-taiteen kaltaista merkkigrafiikkaa, joka käyttää hyväkseen ANSI.SYS -ajurin sallimia ohjauskoodeja ja IBM PC:n näytönohjainten 8-bittistä tekstitilamerkistöä. ANSI-grafiikka oli suosittua etenkin 1990-luvulla BBS-järjestelmissä, mutta sitä harrastetaan vieläkin.

Lähteet muokkaa

  1. Eric S. Raymond: ncurses: Portable Screen-Handling for Linux 1.9.1995. Linux Journal. Viitattu 2.9.2019. (englanniksi)
  2. man pages section 3: Curses Library Functions Oracle. Viitattu 1.9.2019. (englanniksi)
  3. ncurses 6.0 released 12.8.2015. Lwn.net. Viitattu 1.9.2019. (englanniksi)

Aiheesta muualla muokkaa