Показать сообщение отдельно
  #4  
Старый 02.02.2013, 03:34
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Bargest
Меня интересует именно то, как изменить их начертание с того, что отображается на DC (на форме), на то, как это отображается в коде.
Гм. Выставить тот же шрифт и тот же размер, вестимо. Как понимаю, речь идет о Windows 7, где поддержка азиатских языков уже искаропки?

Вот что получилось у меня (Windows XP с поддержкой азиатских языков, Delphi 6):
Код:
const
  Arabic: array[0..12] of WideChar = (
    #$0627, #$0644, #$0634, #$0627, #$064A, #$0627, #$0633, #$0645, #$0020,
    #$0635, #$064A, #$0646, #$064A
  );
var
  B: TRect;
begin
  with Canvas.Font do
  begin
    Name := 'Courier New';
    Height := 30;
    // Size := 9;
  end;
  B := TButton(Sender).BoundsRect;
  TextOutW(Canvas.Handle, B.Left, B.Bottom + 10, Arabic, Length(Arabic));
end;
Сначала был Courier New:
CourierNew.png

Потом строчку с именем шрифта закомментировал и встала умолчательная Tahoma (на форме умолчанием выставлена именно Tahoma):
Commented.png

Delphi 6 не позволяет писать по-арабски с русской локалью, поэтому для сравнения вставил в PSPad (Courier New, 9pt):
PSPad.png

Тот же Courier New, 9pt на форме, -- закомментил Height и раскомментил Size. Найдите 10 отличий, что называется:
9pt.png
Ответить с цитированием