Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.10;
Скачать: CL | DM;

Вниз

Печатаются крякозябры   Найти похожие ветки 

 
Циркуль   (2008-07-06 12:49) [0]

Имеется метод, выводящий нумерацию страниц на канву. В него передается либо канва, на которой рисуем превью, либо канва принтера. Так вот, иногда, на отдельных клиентских компах  бывает такая ситуация, что при печати на принтере русский текст (переменная PageText) выводится всякими левыми символами, причем этот же метод в превью на тех же компах все рисует корректно. И воспроизводится не со всеми шрифтами, например, для Arial или Times New Roman - воспроизводится, для Bookman Old Style - нет, и в превью и на печати все пучком.

procedure TSomeClass.DrawFooter(ACanvas: TCanvas; ARect: TRect; APageNumber, AFontSize: Integer);
var
 AFooterFont: TFont;
 AOldFontHandle: hFont;
 DC: hDC;
begin
 AFooterFont := TFont.Create;
 try
   AFooterFont.Assign(FFooterFont);
   AFooterFont.Size := AFontSize;
   DC := ACanvas.Handle;
   AOldFontHandle := SelectObject(DC, AFooterFont.Handle);
   try
     SetBkMode(DC, TRANSPARENT);
     ...
       DrawText(DC, PChar(SysUtils.Format(PageText + " %d/%d", [APageNumber, PageCount])),
                                          -1, ARect, DT_BOTTOM or DT_SINGLELINE or DT_CENTER);
     ...
   finally
     SelectObject(DC, AOldFontHandle);
   end;
 finally
   AFooterFont.Free;
 end;
end;


Где грабли?


 
KilkennyCat ©   (2008-07-06 19:07) [1]

Грабли в настройках компов. Это не только Ваш код так может чудить, например, недавно так чудил на одной из машин вполне добротный Акробат Реадер с невполне добротным драйвером ньюлетта-паккарда.


 
Anatoly Podgoretsky ©   (2008-07-06 21:02) [2]

> KilkennyCat  (06.07.2008 19:07:01)  [1]

> вполне добротный Акробат Реадер с невполне добротным драйвером ньюлетта-паккарда.

Вообще то ни то, ни другое добротным назвать нельзя.


 
Anatoly Podgoretsky ©   (2008-07-06 21:04) [3]

В настройках принтрера поставить печать шрифтов битмапами.


 
Циркуль   (2008-07-06 23:55) [4]

Спасибо :)



Страницы: 1 вся ветка

Текущий архив: 2008.08.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
2-1215697755
Zhentos
2008-07-10 17:49
2008.08.10
Что-то не могу найти ф-цию сравнения чисел по модулю


2-1215514162
Newss
2008-07-08 14:49
2008.08.10
работа с базой данных


2-1208861820
DJ Kondakov
2008-04-22 14:57
2008.08.10
Окно поверх всех окон


15-1214552185
Desdechado
2008-06-27 11:36
2008.08.10
Каталогизатор знаний


2-1215156404
laao
2008-07-04 11:26
2008.08.10
объясните поведение Delphi при выполнении следующего кода