Получение гарнитуры и названия шрифта Windows, который не установлен - PullRequest
2 голосов
/ 01 июня 2011

Может кто-нибудь сказать мне, как я могу получить название шрифта шрифта? И как я могу взять имя шрифта Windows с именем гарнитуры?

Например, "arialblackno1.ttf", который имеет шрифт "arialblack".

но я ищу, чтобы получить имя гарнитуры шрифта, который не установлен, он просто находится в папке.

Ответы [ 2 ]

0 голосов
/ 02 июня 2011

Вы говорите в комментарии, что вам нужно имя шрифта, который не установлен в Windows.

Есть два способа сделать это, о которых я могу подумать: -

В любом случае вам нужно будет найти обертки Delphi для этих библиотек. Гугл должен помочь.

Похоже, что привязка FreeType является частью AggPas . Это не то, что я пытался.

0 голосов
/ 01 июня 2011

На самом деле, у меня есть небольшое представление о том, что именно вы спрашиваете (условия!)

procedure TForm14.FormCreate(Sender: TObject);
var
  DC: HDC;
  Font: HFONT;
  LogFont: TLogFont;
begin
  DC := GetDC(HWND_DESKTOP);
  Win32Check(DC <> 0);
  Font := GetCurrentObject(DC, OBJ_FONT);
  Win32Check(Font <> 0);
  Win32Check(GetObject(Font, SizeOf(LogFont), @LogFont) > 0);
  ShowMessage(LogFont.lfFaceName);
  Win32Check(ReleaseDC(HWND_DESKTOP, DC) = 1);
end;
...