Аппаратное обеспечение IBM PC© Александр Фролов, Григорий ФроловТом 2, книга 1, М.: Диалог-МИФИ, 1992. 14.7. Команды принтера Epson LQ-2550Управление принтеромESC @ Инициализация принтера 1Bh 40h Выполняется сброс принтера в исходное состояние, если происходила печать строки, то при инициализации эта печать отменяется. DC1(17) Выбор принтера для работы 11h Возвращает принтер в выбранное (активное) состояние, если раньше он был переведен в неактивное состояние командой DC3. Эта команда не выполняет никаких действий, если принтер находится в состоянии OFF LINE DC3(19) Перевод принтера в неактивное состояние 13h Переводит принтер в неактивное состояние до получения принтером команды DC1 выбора принтера для работы. Если принтер переведен в неактивное состояние, его нельзя перевести в состояние ON LINE при помощи соответствующей клавиши на лицевой панели. DEL(127) Удаление символа 7Fh Удаляет последний переданный в принтер символ. Эта команда не действует на управляющие коды. ESC < Печать в одном направлении 1Bh 3Ch Переключает принтер в режим печати в одном направлении, т.е. принтер печатает только тогда, когда печатающая головка движется в одну сторону. Команда задает режим только для одной строки, символ возврата каретки отменяет печать только в одном направлении. ESC U n Включение/выключение режима печати в одном направлении 1Bh 55h n В зависимости от параметра n режим печати только в одном направлении может включаться либо отключаться: n = 1 режим включен; n = 0 режим выключен. ESC EM n Управление податчиком бумаги 1Bh 19h n Эта команда распознается принтером только в том случае, если принтер оборудован податчиком бумаги (Cut Sheet Feeder). Возможные значения параметра n: 1 Загрузка бумаги из кармана BIN1 2 Загрузка бумаги из кармана BIN2 R Проброс листа бумаги без загрузки нового. BEL(7) Выдача звукового сигнала 07h Если выдать эту команду на принтер, громкоговоритель принтера издаст звуковой сигнал. Эта команда может быть использована для предупреждения оператора, например, о том, что кончилась бумага. Управление старшим битом данныхСтарший бит данных MSB (Most Significant Bit) - это бит 7 байтов, посылаемых программой в принтер. Обычно вам не надо изменять значение старшего бита данных, более того, команды управления старшим битом не действуют в графическом режиме или при переопределении символов. ESC = Установка MSB в 0 1Bh 3Dh Для всех выводимых на принтер данных старший бит принудительно устанавливается в 0. Этот режим используется при работе принтера с такими компьютерами, которые всегда посылают на принтер данные со старшим битом, установленным в 1. ESC > Установка MSB в 1 1Bh 3Eh Для всех выводимых на принтер данных старший бит принудительно устанавливается в 1. ESC # Отмена управления MSB 1Bh 23h Отменяется действие введенных ранее команд управления MSB "ESC =" или "ESC >" Управление печатающей головкой и перемещением бумагиCR(13) Возврат каретки 0Dh Команда вызывает распечатку содержимого буфера данных принтера, после чего головка переводится в начало текущей строки. CAN(24) Отмена печати строки 18h Весь текст из распечатываемой строки удаляется. Команда не влияет на управляющий коды, находящиеся в этой строке. FF(12) Подача бумаги на один лист 0Ch Команда вызыывает распечатывание содержимого буфера принтера, вслед за этим происходит подача бумаги вперед на один лист (в соответствии с установленной длиной листа). ESC C n Установить длину листа бумаги в строках 1Bh 43h n Команда устанавливает длину листа бумаги, равной n строкам. Используется установленное ранее расстояние между строками. Допустимые значения параметра n лежат в пределах 1...127 строк. ESC C 0 n Установить длину листа бумаги в дюймах 1Bh 43h 00h n Комнда устанавливает длину листа бумаги, равную n дюймам. Значение n должно находиться в пределах 1...22 дюйма. ESC N n Установить режим пропуска перфорации 1Bh 4Eh n В этой команде параметр n - это количество строк, пропускаемых принтером между последней строкой страницы и первой строкой следующей страницы. Значение n должно находиться в пределах 1...127 строк. ESC O Отмена режима пропуска перфорации 1Bh 4Fh Эта команда отменяет режим пропуска перфорации, установленный командой "ESC N n". LF(10) Перевод строки 0Ah Команда вызывает распечатку содержимого буфера данных принтера, после чего головка переводится в начало следующей строки (бумага продвигается впереж на одну строку). ESC 0 Выбор межстрочного интервала, равного 1/8 дюйма 1Bh 30h Расстояние между текстовыми строками устанавливается равным 1/8 дюйма. ESC 2 Выбор межстрочного интервала, равного 1/6 дюйма 1Bh 32h Расстояние между текстовыми строками устанавливается равным 1/6 дюйма. Это значение используется по умолчанию при включении питания принтера. ESC 3 n Выбор межстрочного интервала, равного n/180 дюйма 1Bh 33h n Расстояние между текстовыми строками устанавливается равным n/180 дюймов. Значение n должно находиться в пределах 0...255. ESC + n Выбор межстрочного интервала, равного n/360 дюйма 1Bh 2Bh n Расстояние между текстовыми строками устанавливается равным n/360 дюймов. Значение n должно находиться в пределах 0...255. ESC A n Выбор межстрочного интервала, равного n/60 дюйма 1Bh 41h n Расстояние между текстовыми строками устанавливается равным n/60 дюймов. Значение n должно находиться в пределах 0...85. ESC J n Проброс бумаги на расстояние n/180 дюймов 1Bh 4Ah n Бумага продвигается вперед на расстояние, равное n/180 дюймов. Команда выполняется немедленно и не вызывает перемещений печатающей головки. VT(11) Вертикальная табуляция 0Bh Бумага продвигается до следующего символа табуляции в канале, выбранном командой "ESC /". Если не выбран никакой канал, по умолчанию используется нулевой. Если вертикальная табуляция не установлена, бумага продвигается вперед на одну строку. ESC B n1 n2 ... 0 Установка вертикальной табуляции 1Bh 42h n1 n2 ... 00h Команда позволяет задать до 16 положений для вертикальной табуляции. Параметры n1, n2, ... задают позиции для табуляции. Они должны указываться в порядке возрастания. Последний параметр всегда должен быть равен 0 - это признак конца последовательности параметров. Табуляция устанавливается в нулевом канале. ESC b c n1 n2 ... 0 Установка вертикальной табуляции в канале 1Bh 62h c 1n n2 ... 00h Команда аналогична команде "ESC B", за исключением того, что необходимо указывать параметр c - номер выбираемого канала для вертикальной табуляции. Значение параметра c должно находиться в пределах 0...7. ESC / c Выбор канала для вертикальной табуляции 1Bh 2Fh c Команда выбирает канал c для работы с командами VT вертикальной табуляции. Значение параметра c должно находиться в пределах 0...7. ESC l n Установка левой границы 1Bh 6Ch n Устанавливается левая граница листа. В левой части листа оставляется n пустых столбцов символов текущей ширины. Если командв выдается для пропорционального набора символов, в качестве ширины для установки левой границы берется значение 10 символов на дюйм (10 pitch). ESC Q n Установка правой границы 1Bh 51h n Устанавливается правая граница листа. В правой части листа оставляется n пустых столбцов символов текущей ширины. Если командв выдается для пропорционального набора символов, в качестве ширины для установки правой границы берется значение 10 символов на дюйм (10 pitch). BS(8) Возврат на одну позицию 08h Команда вызывает распечатку содержимого буфера печати, после чего печатающая головка возвращается на одну позицию назад (но не за левую границу, установленную командой "ESC l". Если этот код выводится на принтер сразу после печати строки в графическом режиме, печатающая головка возвращается к началу только что напечатанной графической строки. ESC $ n1 n2 Установка абсолютной позиции для печати 1Bh 24h n1 n2 Команда задает расстояние от левой границы листа до того места, откуда будет продолжена печать символов. Для вычисления расстояния используется следующая формула: n1 + (n2 * 256). Расстояние задается в единицах, эквивалентных 1/60 доли дюйма. ESC \ n1 n2 Установка относительной позиции для печати 1Bh 5Ch n1 n2 Команда задает расстояние от текущей позиции печатающей головки до того места, откуда будет продолжена печать символов. Для вычисления расстояния используется следующая формула: n1 + (n2 * 256). Расстояние задается в единицах, эквивалентных 1/120 доли дюйма для чернового режима и 1/180 доли дюйма для качественного и пропорционального. HT(9) Горизонтальная табуляция 09h Печатающая головка продвигается до следующего символа горизонтальной табуляции. По умолчанию для одного символа табуляции используется интервал в 8 символов текущего размера. ESC D n1 n2 ... 0 Установка горизонтальной табуляции 1Bh 44h n1 n2 ... 00h Команда позволяет задать до 32 положений для горизонтальной табуляции. Параметры n1, n2, ... задают позиции для табуляции. Они должны указываться в порядке возрастания. Последний параметр всегда должен быть равен 0 - это признак конца последовательности параметров. Команда "ESC D 0" сбрасывает все позиции горизонтальной табуляции. ESC x n Выбор черновой или качественной печати 1Bh 78h n Параметр n определяет режим печати следующим образом: 0 - черновой режим печати; 1 - качественный (LQ) режим печати. ESC k n Выбор стиля печати 1Bh 6Bh n Команда действительна только для режима качественной печати. Параметр n задает стиль: 0 - Roman; 1 - Sans Serif; 2 - Courier; 3 - Prestige; 4 - Script; 5 - OCR-B; 6 - OCR-A. ESC ! n Выбор режима работы принтера 1Bh 21h n Команда позволяет задать комбинацию различных режимов работы принтера. Можно по отдельности задавать размер символов (10 или 12 символов на дюйм), набор символов (пропорциональный, сжатый, выделенный и т.д.). Отдельные биты байта параметра n задают режим работы принтера следующим образом: 7 6 5 4 3 2 1 0 --T-T-T-T-T-T-T-¬ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ LT+T+T+T+T+T+T+T- ¦ ¦ ¦ ¦ ¦ ¦ ¦ L= 0 - размер символа 10 pitch ¦ ¦ ¦ ¦ ¦ ¦ ¦ 1 - размер символа 12 pitch ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L=== пропорциональный шрифт ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L===== сжатый шрифт ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L======= выделенный шрифт ¦ ¦ ¦ ¦ ¦ ¦ ¦ L========= использование двух проходов ¦ ¦ ¦ ¦ ¦ L=========== двойная высота ¦ ¦ ¦ L============= использование курсива ¦ L=============== использование подчеркивания ESC P Выбор размера символа в 10 pitch 1Bh 50h Эта команда задает размер символа, равный 10 pitch, или 10 символов на дюйм. Такой размер устанавливается по умолчанию при инициализации принтера. ESC M Выбор размера символа в 12 pitch 1Bh 4Dh Эта команда задает размер символа, равный 12 pitch, или 12 символов на дюйм. ESC g Выбор размера символа в 15 pitch 1Bh 67h Эта команда задает размер символа, равный 15 pitch, или 15 символов на дюйм. Этот режим несовместим с режимом сжатой печати. ESC p n Включение/выключение пропорционального режима 1Bh 70h n В пропорциональном режиме разные символы имеют различную ширину, что благоприятно сказывается на читаемости текста. Например, букава "i" уже, чем "W". Параметр n может принимать следующие значения: 0 - выключение пропорционального режима; 1 - включение пропорционального режима. SI(15) Выбор режима сжатой печати 0Fh В этом режиме символы имеют примерно на 60 процентов меньшую ширину, чем в нормальном режиме. Режим сжатой печати не совместим с пропорциональным режимом. ESC SI Выбор режима сжатой печати 1Bh 0Fh Команда полностью аналогична предыдущей командe "SI". DC2(18) Отмена режима сжатой печати 12h Отменяется режим сжатой печати, установленный ранее командами ESC SI или SI. SO(14) Печать с двойной шириной 0Eh В этом режиме ширина каждого распечатываемого символа увеличивается в два раза. Режим печати с двойной шириной отменяется командой возврата каретки или командой DC4. ESC SO Печать с двойной шириной 1Bh 0Eh Команда полностью аналогична предыдущей командe "SO". ESC W n Включение/выключение режима печати с двойной высотой 1Bh 77h n В режиме печати с двойной высотой высота каждого распечатываемого символа увеличивается в два раза. Возможные значения параметра n: 0 - выключение режима печати с двойной высотой; 1 - включение режима печати с двойной высотой. DC4(20) Отмена режима печати с двойной шириной 14h Команда отменяет действие команд "ESC SO" или "SO", но не действует, если режим печати с двойной шириной задан командами "ESC W" или "ESC !". ESC W n Включение/выключение режима печати с двойной шириной 1Bh 57h n В режиме печати с двойной шириной ширина каждого распечатываемого символа увеличивается в два раза. Возможные значения параметра n: 0 - выключение режима печати с двойной шириной; 1 - включение режима печати с двойной шириной. ESC E Установка режима печати с выделением 1Bh 45h Распечатываемые символы выглядят "толще" за счет того, что каждая точка печатается дважды. ESC F Отмена режима печати с выделением 1Bh 46h Команда отменяет действие команды "ESC E". ESC G Установка режима двойной печати 1Bh 47h В режиме двойной печати каждая строка печатается дважды, поэтому текст выглядит ярче. Скорость печати уменьшается в два раза. ESC H Отмена режима двойной печати 1Bh 48h Команда отменяет действие команды "ESC G". ESC S 0 Печать верхнего индекса 1Bh 53h 00h Символы распечатываются выше обычного уровня, занимая верхние две трети сетки. ESC S 1 Печать нижнего индекса 1Bh 53h 01h Символы распечатываются ниже обычного уровня, занимая нижние две трети сетки. ESC T Отмена печати верхнего или нижнего индекса 1Bh 54h Команда отменяет действие любой из команд, задающих режим печати индекса - " ESC S 0" или "ESC S 1". ESC - n Включение/выключение режима подчеркивания 1Bh 2Dh n В зависимости от значения параметра n все символы (и пробелы тоже) печатаются с подчеркиванием или без подчеркивания: 0 - выключение режима подчеркивания; 1 - включение режима подчеркивания. ESC q n Выбор стиля распечатываемых символов 1Bh 71h n В зависимости от значения параметра n все символы, кроме имеющих коды от B0h до DFh и символа с кодом F5h распечатываются с использованием следующих стилей: 0 - обычный стиль; 1 - контурное (outline) начертание символов; 2 - использование тени (стиль shadow); 3 - комбинация контурного начертания и тени. Обработка словESC a n Выравнивание для качественного (LQ) набора символов 1Bh 61h n Параметр n может принимать следующие значения: 0 - выравнивание влево; 1 - выравнивание по центру; 2 - выравнивание вправо; 3 - полное выравнивание. По умолчанию при инициализации принтера выбирается режим выравнивания влево. Полное выравнивание выполняется после заполнения буфера печати. При этом распечатываемый текст может содержать символы горизонтальной табуляции HT и возврата на одну позицию BS только тогда, когда задан режим выравнивания влево (n=0). Если используется полное выравнивание, параграфы текста не должны содержать символы возврата каретки. ESC SP n Выбор расстояния между символами 1Bh 20h n Команда позволяет увеличить расстояние между символами по сравнению с тем, которое было задано в сетке при разработке начертания символов. Параметр n, значение которого должно лежать в пределах 0...127, задает количество точек, добавляемых справа к каждому символу. Одна точка соответствует 1/120 дюйма в черновом режиме и 1/180 дюйма в качественном и пропорциональном режимах. Таблицы символовESC t n Выбор таблицы символов 1Bh 74h n Данная команда выбирает одну из таблиц, описывающих начертание символов для символов с кодами от 128 до 255, т.е. для правой половины кодовой таблицы ASCII. Можно выбрать таблицу, содержащую символы курсива (только латинские буквы), расширенную графическую таблицу фирмы Epson или таблицу, определенную пользователем: 0 - таблица с символами курсива (Italics character table); 1 - расширенная графическая таблица Epson; 2 - таблица, определенная пользователем. После загрузки в принтер русских (или других пользовательских) шрифтов необходимо задать режим n=2. ESC 4 Использование курсива 1Bh 34h После получения этой команды принтер печатает весь текст курсивом для любой таблицы символов, за исключением символов псевдографики расширенной таблицы Epson. ESC 5 Отмена использования курсива 1Bh 35h Команда отменяет печать курсивом. ESC R n Выбор национального набора символов 1Bh 52h n В зависимости от параметра n выбирается национальный набор символов: 0 - США; 7 - Испания, набор 1; 1 - Франция; 8 - Япония; 2 - Германия; 9 - Норвегия; 3 - Англия; 10 - Дания, набор 2; 4 - Дания, набор 1; 11 - Испания, набор 2; 5 - Швеция; 12 - Латинская Америка. 6 - Италия; ESC & Определение символов 1Bh 26h 00h n1 n2 d0 d1 d2 data Полный формат команды для переопределения символов в принтере Epson LQ-2550: ESC "&" "0" n1 n2 d0 d1 d2 data Параметры n1 и n2 задают диапазон кодов ASCII символов, начертание которых необходимо переопределить. Их назначение такое же, как и для 9-игольчатых принтеров Epson. Если вы переопределяете только один символ, эти два параметра должны быть одинаковыми. Далее следуют три байта данных, которые задают ширину символа и размер свободного пространства вокруг символа. Параметр d0 задает количество свободных столбцов слева от символа, параметр d2 определяет количество свободных столбцов справа от символа. Параметр d1 определяет ширину символа в столбцах сетки.Изменяя ширину символа и размер свободного пространства вокруг него можно формировать пропорциональные наборы символов. В следующей таблице приведены максимальные значения для параметров d0, d1, d2 для различных наборов символов: Набор d1 d0+d1+d2 Черновой 9 12 Качественный, 29 36 10 символов на дюйм Качественный, 23 30 12 символов на дюйм Пропорциональный 37 42 После параметра d2 следует последовательность байтов, описывающих символ, т.е. образец для символа. Для задания одного столбца сетки требуется три байта, поэтому для определения одного символа вы должны задать (d1 * 3) байтов данных. ESC : 0 n 0 Копирование символов из ПЗУ в ОЗУ 1Bh 3Ah 00h n 00h Команда выполняет копирование заданного параметром n набора символов из постоянного запоминающего устройства принтера в его оперативную память. После этого можно переопределить начертание части символов командой "ESC &". Возможные значения для параметра n: 0 - Roman; 1 - Sans Serif; 2 - Courier; 3 - Prestige; 4 - Script; 5 - OCR-B; 6 - OCR-A. ESC % n Выбор набора символов, заданного пользователем 1Bh 25h n Команда позволяет переключать используемый набор символов. В зависимости от значения параметра n будет использоваться либо стандартный набор символов принтера, либо наор символов, определенный пользователем при помощи команды "ESC &". Возможные значения параметра n: 0 - используется стандартный набор символов; 1 - используется набор символов, определенный пользователем. ESC 6 Разрешение печати символов с кодами 128...159 1Bh 36h После приема этой команды при использовании расширенной графической таблицы Epson символы с кодами от 128 до 159 будут интерпретироваться принтером как символы, а не как управляющие коды. ESC 7 Запрещение печати символов с кодами 128...159 1Bh 37h После приема этой команды при использовании расширенной графической таблицы Epson символы с кодами от 128 до 159 будут интерпретироваться принтером как управляющие коды. Этот режим устанавливается по умолчанию при инициализации принтера. Графические командыESC K n1 n2 Выбор графического режима с одинарной плотностью 1Bh 4Bh n1 n2 Команда устанавливает графический 8-битовый режим одинарной плотности. Общее количество столбцов в графической строке при этом составит n1 + (n2 * 256). ESC L n1 n2 Выбор графического режима с двойной плотностью 1Bh 4Ch n1 n2 Команда устанавливает графический 8-битовый режим двойной плотности, печать будет выполняться с низкой скоростью. Общее количество столбцов в графической строке при этом составит n1 + (n2 * 256). ESC Y n1 n2 Выбор скоростного графического режима с двойной плотностью 1Bh 59h n1 n2 Команда устанавливает графический 8-битовый режим двойной плотности, печать будет выполняться с высокой скоростью. Общее количество столбцов в графической строке при этом составит n1 + (n2 * 256). ESC Z n1 n2 Выбор графического режима с учетверенной плотностью 1Bh 5Ah n1 n2 Команда устанавливает графический 8-битовый режим учетверенной плотности. Общее количество столбцов в графической строке при этом составит n1 + (n2 * 256). ESC * Печать в графическом режиме 1Bh 2Ah m n1 n2 Полный формат команды графической печати: ESC "*" m n1 n2 data В этой команде параметр m задает режим печати: m Режим 0 Одинарная плотность, 60 точек на дюйм, 8-битовая графика 1 Двойная плотность, 120 точек на дюйм, 8-битовая графика 2 Двойная плотность, печать с высокой, скоростью, 120 точек на дюйм, 8-битовая графика 3 Учетверенная плотность, 240 точек на дюйм, 8-битовая графика 4 Режим CRT I, плотность 80 точек на дюйм, 8-битовая графика 6 Режим CRT II, плотность 90 точек на дюйм, 8-битовая графика 32 Одинарная плотность, 60 точек на дюйм, 24-битовая графика 33 Двойная плотность, 120 точек на дюйм, 24-битовая графика 38 Режим CRT III, плотность 90 точек на дюйм, 24-битовая графика 39 Тройная плотность, 180 точек на дюйм, 24-битовая графика 40 Шестикратное увеличение плотности, 360 точек на дюйм, 24-битовая графика ESC ? s n Переназначение графических режимов 1Bh 3Fh s n Команда позволяет заменить один графический режим на другой. Параметр s - это символ (K, L, Y, Z), который назначается графическому режиму, заданному параметром n (0...6). Управление цветомESC r n Определение цвета печати 1Bh 72h n В зависимости от значения параметра n печать будет выполнена одним из следующих цветов: 0 - черный; 1 - малиновый; 2 - циан; 3 - фиолетовый; 4 - желтый; 5 - красный; 6 - зеленый. |