0.9.24 - по другому рисуется текст?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

0.9.24 - по другому рисуется текст?

Сообщение tria »

Никто не знает, что поменялось при выводе текста с помощью TextRect()?
Текст стал более растянутым (расстояение между отдельными символами в строке), увеличились межстрочные интервалы.
У меня от этого проблема - настроенные печатные формы теперь плохо выглядят...
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Никто не подскажет, хоть куда копать?
Павел Ишенин
постоялец
Сообщения: 475
Зарегистрирован: 24.03.2007 09:16:52

Сообщение Павел Ишенин »

надо знать в какой ревизии поменялось - тогда станет ясно. чтобы узнать ревизию надо использовать традиционный способ деления пополам
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Павел Ишенин писал(а):надо знать в какой ревизии поменялось - тогда станет ясно. чтобы узнать ревизию надо использовать традиционный способ деления пополам

Я не работаю с промежуточными версиями - только с официальными новыми релизами. У меня живые фирмы ведут учет в программе...
При переходе с 9.22 на 9.24 по другому стал рисоваться текст. Текст вывожу на гриде, в перекрытом Paint.
Проблема может быть и не в самом выводе, а в предварительном задании шрифта (название, размер).
Я еще покопаюсь, поищу отличие от 9.22, но был бы очень благодарен за подсказку.
Павел Ишенин
постоялец
Сообщения: 475
Зарегистрирован: 24.03.2007 09:16:52

Сообщение Павел Ишенин »

какая платформа?
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Павел Ишенин писал(а):какая платформа?


Windows
Шрифт - Times New Roman, 8 размер.
Сейчас почему-то стал выглятедь больше...
Если надо - могу картинки куда-нить выслать.
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Внешний вид вывода шрифта:

1. 0.9.22, Times new roman, 8
Изображение

2. 0.9.22, Times new roman, 9
Изображение

3. 0.9.24, Times new roman, 8
Изображение

Простой кусок кода привести не получится - надо с нуля делать.
Сложный кусок кода:

Код: Выделить всё

c.TextRect(RectSmall, RectSmall.Left, RectSmall.Top, t, Align_TextStyle(MainTCell.FontAtr));


Код: Выделить всё

Function Align_TextStyle(FontAtr:TFontAtr):TTextStyle;
begin
 //TAlignment = (taLeftJustify, taRightJustify, taCenter);
 //TTextLayout = (tlTop, tlCenter, tlBottom);
 Case FontAtr.Align of
 0,1: begin
      Result.Alignment:=taLeftJustify;
      Result.Layout:=tlTop;
    end;
 2: begin
      Result.Alignment:=taCenter;
      Result.Layout:=tlTop;
    end;
 3: begin
      Result.Alignment:=taRightJustify;
      Result.Layout:=tlTop;
    end;
 4: begin
      Result.Alignment:=taLeftJustify;
      Result.Layout:=tlCenter;
    end;
 5: begin
      Result.Alignment:=taCenter;
      Result.Layout:=tlCenter;
    end;
 6: begin
      Result.Alignment:=taRightJustify;
      Result.Layout:=tlCenter;
    end;
 7: begin
      Result.Alignment:=taLeftJustify;
      Result.Layout:=tlBottom;
    end;
 8: begin
      Result.Alignment:=taCenter;
      Result.Layout:=tlBottom;
    end;
 9: begin
      Result.Alignment:=taRightJustify;
      Result.Layout:=tlBottom;
    end;
 else begin
       Result.Alignment:=taLeftJustify;
       Result.Layout:=tlTop;
      end;
 end;//Case
 Result.ShowPrefix:=False;

 Case FontAtr.Wrap of
 0:begin//0-îáðåçàòü
     Result.Wordbreak:=False;
     Result.SingleLine:=True;
     Result.Clipping:=True;
   end;
 1:begin//1 - ïåðåíîñèòü
     Result.Wordbreak:=True;
     Result.SingleLine:=False;
     Result.Clipping:=False;
 end;
 2:begin//2 - ïðîäëåâàòü ïîâåðõ äðóãèõ ÿ÷ååê
     Result.Wordbreak:=False;
     Result.SingleLine:=True;
     Result.Clipping:=False;
   end;
 end;//Case
 Result.Opaque:=True;
 Result.SystemFont:=False;
end;
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Мож кто подскажет, где выставляется межстроковое расстояние, расстояние между буквами?
Может эти значения по-умолчанию поменялись?
Павел Ишенин
постоялец
Сообщения: 475
Зарегистрирован: 24.03.2007 09:16:52

Сообщение Павел Ишенин »

Лучше эту проблему запостить на форум lazarus (lazarus.freepascal.org). Так как я ничего в этом отношении не менял - я ничего сказать не могу.
Timid
постоялец
Сообщения: 290
Зарегистрирован: 21.11.2007 20:33:15

Сообщение Timid »

А разрешение какое, то есть соотношение сторон экрана. Если не 1:1, как 1024х768, а 1024х600 то проблема может быть в реализации true type в Windows. По крайней мере, этим грешит VCL Delphi, наверное и Лазарь может "подхватить".
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Сообщение tria »

Разрешение 1024х768 и в первом, и во втором случае.
Снимки с экрана делались с одного компа в одно и то же время...
Ответить