Вниз
Скачать: 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.022 c
1-1097231872
mRodion
2004-10-08 14:37
2004.10.24
Еще по поводу Tlist. Сортировка.


3-1096041201
Jiny
2004-09-24 19:53
2004.10.24
проблема с группировкой записей


1-1097329578
Slaga
2004-10-09 17:46
2004.10.24
Одна процедура для всех пунктов TPopupMenu.


4-1095509257
TopT
2004-09-18 16:07
2004.10.24
Как блокировать выключение экрана?


14-1096895691
Zacho
2004-10-04 17:14
2004.10.24
Дефрагментация в XP




   Наверх