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

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

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

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

Сообщение tria » 16.11.2007 12:23:10

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

Сообщение tria » 16.11.2007 16:39:38

Никто не подскажет, хоть куда копать?
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Павел Ишенин » 16.11.2007 20:50:08

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

Сообщение tria » 19.11.2007 12:23:48

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

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

Сообщение Павел Ишенин » 19.11.2007 18:17:18

какая платформа?
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Сообщение tria » 19.11.2007 19:09:29

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


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

Сообщение tria » 20.11.2007 13:14:52

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

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 » 21.11.2007 17:26:50

Мож кто подскажет, где выставляется межстроковое расстояние, расстояние между буквами?
Может эти значения по-умолчанию поменялись?
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Павел Ишенин » 21.11.2007 18:05:38

Лучше эту проблему запостить на форум lazarus (lazarus.freepascal.org). Так как я ничего в этом отношении не менял - я ничего сказать не могу.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Сообщение Timid » 21.11.2007 22:57:40

А разрешение какое, то есть соотношение сторон экрана. Если не 1:1, как 1024х768, а 1024х600 то проблема может быть в реализации true type в Windows. По крайней мере, этим грешит VCL Delphi, наверное и Лазарь может "подхватить".
Timid
постоялец
 
Сообщения: 290
Зарегистрирован: 21.11.2007 21:33:15

Сообщение tria » 22.11.2007 11:19:11

Разрешение 1024х768 и в первом, и во втором случае.
Снимки с экрана делались с одного компа в одно и то же время...
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 126

Рейтинг@Mail.ru