Программное управление принтером
Принтеры могут выполнять различные команды, поступающие от компьютера в виде специальных кодов: выбор типа и размера шрифта, длины строки, цвета печати, протяжка бумаги, установка интервала, число строк на странице и т.д. Особенности команд, исполняемых принтерами, учитывают разработчики программ для ПК. Прежде чем использовать многие из прикладных программ, например, редактор Word, пользователь ПК должен настроить на определенную конфигурацию оборудование компьютера. Часто эта настройка сводится к указанию марки используемого принтера или подключению драйвера печати конкретного устройства (Windows).
Единой системы кодирования команд для всех принтеров нет. Однако разработки принтеров постепенно сходятся к следующим системам кодов или стандартам.
Стандарт фирмы Epson. Стандарт для точечно-матричных принтеров был принят в принтерах первых IBM PC. Стандарт разработан японской фирмой Epson и его основные команды имеются в большинстве японских принтеров. Со временем в стандарт было добавлено множество дополнений и его поддерживают большинство принтеров.
Стандарт ISO. Разработан Международной организацией по стандартизации (ISO), этот стандарт является по существу расширенным стандартом Epson. Среди его возможностей можно отметить поворот шрифта и передачу программе дополнительной информации, например, о ширине шрифта.
Стандарт PCL. Стандарт PCL (Printer Control Language - язык управления принтером) разработан для принтеров LaserJet фирмы Hewlett-Packard. Язык представляет собой систему простых кодов, похожих на применяемые в строчных принтерах. Обычно принтеры LaserJet работают как текстовые страничные принтеры, которые допускают графику на части страницы (или на всей странице в новых моделях).
Принтеры LaserJet настолько доминируют на рынке лазерных принтеров для ПК, что многие программы не поддерживают больше никаких других стандартов. Многие производители, выпускающие клоны этих принтеров и даже совершенно другие лазерные принтеры, например LaserJet фирмы Apple, имеют режимы эмуляции LaserJet, где используется разработанный фирмой Hewlett-Packard управляющий язык PCL.
По мере модернизации принтеров развивался и язык PCL, поэтому сейчас имеются несколько версий языка.
В лазерных принтерах применяются два способа записи текста. В обоих способах принтер имеет словарь для каждого символа любого используемого шрифта. Когда требуется записать букву А, принтер отыскивает форму этого символа, а затем печатает его. В простейшем случае в словаре хранится фактическое изображение символа (его двоичная карта - bitmap). Шрифты такого типа называются шрифтами типа двоичной карты. Во втором, более совершенном способе, форма каждого символа хранится как математическая формула, которая применяется для формирования символа. Такой способ обеспечивает получение масштабируемых шрифтов (они также называются контурными шрифтами, так как по формуле формируется контур символа, который затем заполняется). При первом способе возможна печать символов только тех размеров, для которых имеются двоичные карты. Второй способ допускает печать символов практически любого размера.
Во все принтеры встроено некоторое число шрифтов, например, 10 шрифтов в точечно-матричном принтере и 10-40 в лазерном принтере. Такие встроенные шрифты называются шрифтами принтера. В лазерные принтеры можно добавить шрифты, вставляя соответствующие кассеты (картриджи). Такие шрифты называются кассетными шрифтами. Наконец, данные для еще большего числа шрифтов можно загрузить из компьютера во внутреннюю память принтера. Это программируемые шрифты (soft fonts), которые исчезают при выключении принтера.
Принтер может хранить столько программируемых шрифтов, сколько их помещается в его память. Память требуется также для формирования графических изображений, поэтому ее доступный объем ограничен. Программируемый шрифт типа двоичной карты требует много памяти. При запросе печати документа, требующего нескольких программируемых шрифтов, памяти принтера может не хватить.
Масштабируемые шрифты занимают намного меньше места в памяти принтера. Но в этом случае принтер должен иметь свой процессор для формирования каждого символа. По существу, такие принтеры превращаются в специализированные компьютеры. Однако масштабируемые шрифты можно применять и для лазерных принтеров, которые не поддерживают их. Для этого сам компьютер (а не принтер) создает двоичную карту по формуле контура символа, а затем такая двоичная карта передается в принтер как программируемый шрифт.
Программа может интерполировать двоичные карты с получением изображений промежуточных размеров. Этот прием усовершенствован в масштабируемых шрифтах TrueType для Windows. Они формируют высококачественные изображения двоичных карт практически любого размера для экрана и принтера. Так как двоичные карты экрана и принтера имеют один и тот же источник, Вы видите на экране именно то, что печатается (отсюда появилось название TrueType - истинная печать).