28 Глава 1

tl9 = array [O..18] of Byte;

tl6_l = array [0..7,0..15,0..18] of Byte;

tl9_l = array [0..7,0..18,0..15] of Byte;

var

F16 File of tl6;

F19 File of tl9;

C16 tl6;

C19 tl9;

A16 tl6_l;

A19 tl9__l absolute al6;

X,Y,k,B,S: Byte;

D,R,E,XO,YO: Integer;

begin

{Инициируем графику} D := Detect;

InitGraph(D,R,' ') ;

E := GraphResult;

if EogrOk then begin

WriteLn(GraphErrorMsg(E)) ;

Halt end;

{Задаем начальные координаты эхоповтора} ХО := 0;

YO := 0;

{Открываем файлы} Assign(F16,'8xl6.fnt') ;

Reset(F16) ;

Assign (F19,'8xl9.fnt') ;

Rewrite(F19) ;

{Основной цикл преобразования} while not EOF(F16) do begin

Read(F16,C16); (Читаем очередной образ 8х16} {Сканируем его слева-направо-сверху-вниз в виде матрицы 8х16} for Y := 0 to 15 do for X := 0 to 7 do begin

{Выделяем нужный бит} B:=ord((C16[Y] and (128 shr X))<>0);

if BOO then

PutPixel(XO+X,YO+Y,White) ;

{Формируем 19 единиц или нулей} for k := 0 to 18 do

A16[X,Y,k] := В end;