Практически все команды изменения режимов печати (переключение шрифтов, изменение размера, эффекты печати и т. п.), а также переключения в графический режим, начинаются с кода Escape. Далее следует один или более байтов кода команды; формат последовательности определяет первым байтом (командой), следующим за кодом Esc. Вся эта конструкция называется Escape-последовательностью.
Ширина страницы 8 1/2 дюйма позволяет напечатать в строке до 80 обычных символов, если все они имеют одинаковую ширину. Пропорциональная печать (см. [6.3.3]) позволяет поместить в строке еще несколько символов. С другой стороны, плотная печать позволяет вывести в строке 132 символа, печать с двойной шириной - 40 символов, а плотная печать с двойной шириной - 64 символа.
Большинство матричных принтеров имеет набор режимов печати специальными шрифтами. Приведем перечень стандартных возможностей, предоставляемых графическим принтером IBM.
Плотная печать. Для включения режима плотной печати надо послать однобайтовый управляющий код 15, для выключения режима - код 18. Стандартная страница шириной 8 1/2 дюйма позволяет напечатать в этом режиме 132 символа в строке.
Печать с двойной шириной. Для того чтобы принтер начал печатать с двойной шириной, надо послать на него управляющий код 14. Режим печати с двойной шириной необычен тем, что принтер автоматически выключает этот режим, когда встречает символ возврата каретки, или перевода строки. Поскольку такой вид печати обычно используется для однострочных заголовков, то это свойство удобно. Чтобы выключить этот режим в середине строки, пошлите код 20.
Выделенная печать. При выделенной печати каждый символ печатается два раза в одной и той же позиции. Точки становятся темнее, что и создает эффект выделения. Скорость печати при этом уменьшается вдвое. Для включения этого режима пошлите код 27,69, для выключения - 27,70.
Печать за два прохода. В режиме печати за два прохода бумага сдвигается на 1/216 дюйма перед вторым проходом печатающей головки. При этом получаются более заполненные буквы, которые к тому же выглядят ярче. Скорость печати уменьшается вдвое. Этот режим включается управляющим кодом 27,71, а выключается кодом 27,72.
Печать с подчеркиванием. Печать с подчеркиванием может выполняться двумя способами. Графический принтер имеет режим подчеркивания, в котором линейка печатается под каждым символом, включая пробелы. Для графического принтера фирмы IBM такой режим включается кодом 27,45,1, а выключается кодом 27,45,0. Принтеры, не имеющие режима подчеркивания, могут сделать линейки при втором проходе по той же строке, печатая символы подчеркивания (ASCII 95) в тех местах, где это нужно, и пробелы (ASCII 32) - во всех остальных позициях. Второй проход достигается тем, что после первого прохода подается код возврата каретки без кода перевода строки. Второй проход не мешает принтеру правильно подсчитывать строки при вычислении размера страницы.
Печать с верхними и нижними индексами. На графических принтерах текст с верхними и нижними индексами сжимается вертикально. Для печати верхнего индекса пошлите управляющий код 27,83,0, а для печати нижнего - 27,83,1. Можно прямо переходить от одних индексов к другим. Для выключения печати индексов с тем, чтобы принтер оказался на текущей строке, пошлите управляющий код 27,84.
Некоторые режимы не могут использоваться в комбинации с другими. Если вы хотите включить 4 режима одновременно, то проконсультируйтесь со следующей таблицей. В каждом из шести столбцов приведена допустимая комбинация.