Vyšlo v týdeníku Computerworld č. 18/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a218c120.php3

ESCAPE sekvence

Ovládat tiskárnu je možné prostřednictvím ovládacích prvků na jejím panelu - takto lze například posouvat papír oběma směry, zavádět nový list papíru apod. Tiskárnu však musí mít možnost vhodně ovládat i program, který na ní právě tiskne, například aby mohl zapínat a vypínat tučné písmo nebo podtrhování, nastavovat řádkování, přepínat tiskárnu mezi grafickým a znakovým režimem tisku, provádět tzv. download apod.

Možnost ovládat tiskárnu "za chodu" přímo z počítače je založena na velmi jednoduché myšlence: tiskárně se budou příslušné příkazy posílat přesně stejným způsobem, jako vlastní data, určená k tisku. Má to ovšem jeden drobný háček - tiskárna musí být schopna každý řídicí příkaz správně rozpoznat, a odlišit jej od ostatních dat.

Ve znakovém režimu se tiskárna snaží interpretovat každý byte, který z počítače dostane, jako kód znaku, který má vytisknout. Ne všechny číselné kódy však odpovídají tisknutelným znakům - ty, které nereprezentují žádný tisknutelný znak, pak mohou mít význam řídicích příkazů. Takovýchto znaků ale bývá méně, než kolik by bylo třeba pro všechny různé řídicí příkazy. Proto se většina řídicích příkazů musí reprezentovat pomocí skupin více znaků. Aby je bylo možné odlišit od ostatních dat, uvozují se řídicím znakem, který neodpovídá žádnému tisknutelnému znaku. Tímto znakem je obvykle znak, který má ve znakovém kódu ASCII kód 27 (desítkově, resp. 1B hexadecimálně), a je označován jako znak ESCAPE.

Znak ESCAPE tedy tiskárně signalizuje, že další znaky, které po něm budou následovat, představují řídicí příkaz. Spolu se znakem ESCAPE pak tyto znaky tvoří posloupnost, které se říká ESCAPE sekvence. Díky tomu, že je celá uvozena znakem ESCAPE, mohou jejími dalšími znaky být i tisknutelné znaky. Všechny ESCAPE sekvence nemusí mít (a také nemívají) stejnou délku, tiskárna však vždy musí být schopna správně rozpoznat konec sekvence. Proto má každá tiskárna pevně daný repertoár ESCAPE sekvencí, pomocí kterých ji lze ovládat. Každý program, který chce s tiskárnou pracovat, se pak tomuto repertoáru ESCAPE sekvencí musí přizpůsobit.