Энциклопедия Turbo Pascal. Главы 9-11 - Машинно-независимый набор символов

ОГЛАВЛЕНИЕ

Машинно-независимый набор символов

Каждый машинно-независимый символ конструируется, используя матрицу 4х6 пикселов. Например, буква "Е" конструируется, как это показано на рис.10-3. Так как машинно-независимый набор символов создается с помощью графического инструментария, то можно изменять размер букв, используя масштабирующий коэффициент.

           ----------------------------------------
                   ---T--T--T--¬
                   +--+--+--+--+
                   +--+--+--+--+
                   +--+--+--+--+
                   +--+--+--+--+
                   +--+--+--+--+
                   L--+--+--+--
           ---------------------------------------.

 

Рис.10-3. Построение буквы "Е" в матрице 4х6 пикселов

DrawText и DrawTextW

Процедуры DrawText и DrawTextW объявляются следующим образом:

    procedure DrawText(X, Y, Scale: integer, Msg: WrkString);
    procedure DrawTextW(X, Y, Scale: integer, Msg: WrkString); 

Данные процедуры выводят сообщение Msg, начиная с координат X, Y в масштабе, заданном параметром Scale.  WrkString  декларируется инструментарием, как строка максимальной длины. Однако, вы можете использовать любой тип, который пожелаете.

Простая программа, показанная далее, отображает примеры первых шести размеров шрифта.

    program text_graphics;

    {Si typedef.sys}
    {Si graphix.sys}
    {Si kernel.sys}

    var
      i:integer;

    begin
      InitGraphic;
      DefineWorld(1, 0, 0, 1000, 1000);
      SelectWorld(1);
      SelectWindom(1);
      DrawBorder;

      for i: = 1 to 6 do
      begin
       DrawTextW(10, i*140, i, 'Это      тест')
      end;
      repeat until KeyPressed;
      LeaveGraphic;
    end.

Главным преимуществом применения машинно-независимых символов является то, что их размер может быть изменен для удовлетворения специфическим нуждам вашей программы.