Страница 10 из 20
6.2.4 Управление положением печатающей головки. Печатаемый текст распределяется по странице частично за счет движения бумаги [6.2.3], а частично за счет движения печатающей головки. Головка может быть позиционирована в любое место, но не путем задания ее координат. Вместо этого указывается ее смещение, относительно самой левой позиции, которую она может достигать. У принтера нет датчиков, сообщающих текущее положение головки. Ваша программа должна отслеживать положение головки, если оно должно быть известным. При этом хорошей практикокй является начинать печать с подачи управляющего кода 27,60, который сдвигает головку в самую левую позицию, не делая перевода строки (то же самое делает и код возврата каретки).
При печати текста имеется несколько способов передвинуть го- ловку в нужное положение. Она может сдвигаться вправо подачей одного или нескольких символво пробела или табуляции и влево подачей одного или нескольких символов "возврат на шаг" или сим- вола возврата каретки. Движения осуществляются непрерывно - не воспринимайте их как соответствующие последовательности на обыч- ной пишущей машинке. До тех пор, пока Ваша программа знает на- чальное положение печатающей головки она может комбинацией пере- водов строки, пробелов, табуляций и возвратов на шаг форматиро- вать Ваш вывод в соответствии с Вашими пожеланиями. Принтеры, которые умеют выполнять обратный пеервод строки могут использо- ваться и как графопостроители. В графических режимах возможно перемещение головки на малые доли дюйма. При печати текста Вы можете войти в графический ре- жим, чтобы добиться разных промежутков между словами. К сожале- нию, этот процесс существенно замедляет печать. Смотрите пример в пункте [6.3.2]. Имеется специальный код, который заставляет головку всегда возвращаться в крайнюю левую позицию перед печатью очередной строки, отменяя двунаправленную печать. Хотя это значительно замедляет печать, однако при этом достигается более точное пози- ционирование головки. Это особенно полезно при работе в графичес- ком режиме. Чтобы включить однонаправленную печать надо послать код 27,85,1, а чтобы вернуться к двунаправленной печати - код 27,85,0.
|