| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Как получить имя шрифта из ttf файла ? |
| Автор: Эрик 4.9.2006, 11:50 |
| Уважаемые, подскажите плиз как получить имя шрифта из ttf файла ? На дельфи реализовано, но в Builder перебить не получается... Буду очень рад если кто-то поможет! привожу код дельфи ---- function GetFontName (FontFileA : PChar) : String; type TGetFontResourceInfoW = function (FontPath : PWideChar; var BufSize : DWORD; FontName : PWideChar; dwFlags : DWORD) : DWORD; stdcall; var GetFontResourceInfoW : TGetFontResourceInfoW; FontFileW : PWideChar; FontNameW : PWideChar; FontFileWSize, FontNameSize : DWORD; begin Result := ''; GetFontResourceInfoW := GetProcAddress(GetModuleHandle('gdi32.dll'), 'GetFontResourceInfoW'); if @GetFontResourceInfoW = nil then Exit; if AddFontResource(FontFileA) = 0 then Exit; FontFileWSize := (Length(FontFileA)+1)*2; GetMem(FontFileW, FontFileWSize); StringToWideChar(FontFileA, FontFileW, FontFileWSize); FontNameSize := 0; FontNameW := nil; GetFontResourceInfoW (FontFileW, FontNameSize, FontNameW, 1); GetMem (FontNameW, FontNameSize); FontNameW^ := #0; // на случай какого-нибудь облома GetFontResourceInfoW (FontFileW, FontNameSize, FontNameW, 1); Result := FontNameW; FreeMem (FontFileW); FreeMem (FontNameW); RemoveFontResource(FontFileA); end; ипользование label2.Caption := GetFontName('e:\myfont.ttf'); --- Заранее спасибо! |
| Автор: Эрик 5.9.2006, 07:58 |
| Тема закрыта, спасибо, разобрался сам. |