Вниз
Скачать: CL | DM;

будет ли это работать для ANSI кодировки ?   Найти похожие ветки 

← →
nika_ufc ©   (2004-09-19 16:35) [0]

Пользуюсь функций GetFontUnicodeRanges для извлечения число символов из шрифта. Как говорит название функций и его определение: The GetFontUnicodeRanges function returns information about which Unicode characters are supported by a font (Функция GetFontUnicodeRanges возвращает информацию, о том которые из Unicode символов поддерживаются шрифтом.).
Вопрос:
Означает ли это, что моя программа не правилна будет выводить информацию о числе символов для "не Unicode поддерживаемых" шрифтах ? например для шрифтах которые поддерживают только ANSI кодировку ?
Наблюдаю за программой, и по моему работает отлично для всех кодировок, а не должно бить из за определения.
Вот и код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   ListBox1: TListBox;
   procedure ListBox1Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ListBox1Click(Sender: TObject);
var
 idx, sz: integer;
 strFont: string;
 glp: PGLYPHSET;
begin
 idx := ListBox1.ItemIndex;
 if idx < 0 then exit;
 strFont := Listbox1.Canvas.font.Name;
 Listbox1.Canvas.font.Name := listbox1.Items[idx];
 sz := GetFontUnicodeRanges(listbox1.Canvas.Handle, Nil);
 Getmem(glp, sz);
 GetFontUnicodeRanges(listbox1.Canvas.Handle, glp);
 Listbox1.Canvas.font.Name := strFont;
 Showmessage(intToStr(glp.cGlyphsSupported)+"*"+inttostr(glp.flAccel));
 FreeMemory(glp);

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    ListBox1.Items.Assign(Screen.Fonts);
end;

end.


← →
nika_ufc ©   (2004-09-20 09:04) [1]

Прощу ответить проста - Да или Нет.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
3-1095924545
Ш-К
2004-09-23 11:29
2004.10.24
EventAlerter в MSSQL (как в IB)


3-1096267827
ghost@guk.kiev.ua
2004-09-27 10:50
2004.10.24
TDBCheckListBox


1-1097139093
Cosinus
2004-10-07 12:51
2004.10.24
Координаты вывода сообщения по ShowMessageCj,


4-1094820495
AllDer
2004-09-10 16:48
2004.10.24
TextOut в win2000


1-1097406315
SNV-Soft
2004-10-10 15:05
2004.10.24
Как заставить работать OnMouseMove у панели!?




   Наверх