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;