LP полагается на страндартный интерфейс и базу данных Terminfo при иницииации каждого принтера и установке выбранного размера страницы, шага расположения символов, шага строки и набора символов. Обычно бывает достаточно сделать правильный ввод элементов в базу данных Terminfo, чтобы добавить новый элемент к LP . Несколько элементов принтеров AT&T поставляются вместе с элементами Treminfo в пакете LP.
Каждый принтер идентифицируется в базе данных Terminfo по короткому имени; этот вид имени идентичен тому, которое используется для установки пременной командного файла TERM. Например, принтер AT&T модель 455 идентифицируется по имени 455.
Если вы не можете найти элемент Terminfo для вашего принтера, вам надо его добавить. Если вы этого не сделаете, вы сможете использовать принтер с LP, но у вас не будет возможности получать автоматический выбор размера страницы, шага и набора символов, и у вас могут возникать трудности с установкой принтера в правильные режимы для каждого запроса на распечатку. Другим вариантом, которым можно воспользоваться вместо обновления элемента Terminfo, это настроить программу интерфейса, используемую с принтером.
В табл. 7.3 пречислены элементы, которые нужно определить, прежде чем добавить новый принтер в базу Terminfo.
Таблица 7.3.
Элемент Terminfo
Значение
daisy
Принтеру нужен оператор, чтобы изменить набор символов
bufsz
Число байтов, помещаемых в буфер перед распечаткой
* cols
Число колонок в строке
* it
Метки табуляции, используемые вместо пробелов
* lines
Число строк на странице
orc
Разрешающая способность по горизонтали в единицах на символ
orchi
Разрешающая способность по горизонтали в единицах на дюйм
orl
Разрешающая способность по вертикали в единицах на символ
orvi
Разрешающая способность по вертикали в единицах на дюйм
cps
Средняя скорость распечатки в символах
* cr
Возврат каретки
cpi
Изменение числа символов на дюйм
lpi
Изменение числа строк на дюйм
chr
Изменение разрешающей способности по горизонтали
cvr
Изменение разрешающей способности по вертикали
csnm
Список имен набора символов
mgс
Очистка всех полей (верхних, нижних и боковых)
* hpa
Абсолютная позиция по горизонтали
* cud1
На одну строку вниз
* cuf1
Каретку вправо
swidm
Разрешение печати удвоенной ширины
rwidm
Запрещение печати удвоенной ширины
* ff
Выдача страницы
* is1
Строка инициации принтера
* is2
Строка инициации принтера
* is3
Строка инициации принтера
* if
Имя файла инициации
* iprog
Полное имя программы инициации
* cud
Перемещение кареткии на # строки вниз
* cuf
Перемещение кареткии на # строки вправо
* rep
Повтор символа # раз
* vpa
Абсолютная позиция по вертикали
scs
Выбор набора символов
smgb
Установка нижних полей на текущей строке
smgbp
Установка нижних полей
smgl
Установка левых полей в текущей колонке
smglp
Установка полей слева
smgr
Установка правых полей в текущей колонке
smgrp
Установка полей справа
smgt
Установка верхних полей на текущей строке
smgtp
Установка верхних полей
scsd
Запуск определения набора символов
* ht
Метка табуляции для следующих 8 пробелов
Те элементы, которые помечены звездочкой (*), имеются во всех версиях UNIX System V. Остальные можно добавить только, если вы используете систему UNIX System V версии 3.2 или более поздние.
После того как вы создали новый элемент, вам нужно скомпилировать его в базу данных, используя программу tic. Просто введите следующую команду:
tic filename
где filename - это имя файла, содержащего элемент Terminfo для нового принтера.
Примечание. Сервис принтера LP работает наиболее эффективно, если кэширует информацию из базы данных Terminfo. Если вы добавляете или удаляете элементы из Terminfo или изменяете значения, управляющие установками шагов, шириной и длиной страницы вам следует перезапустить LP, чтобы он использовал новую информацию.