有人能告訴我如何獲取字體的字體名稱嗎?我怎樣才能取得具有字體名稱的字體的Windows名稱?獲取未安裝字體的字體和Windows名稱
像「arialblackno1.ttf」那樣有字體「arialblack」。
但我期待得到沒有安裝的字體的字體名稱,它只是在一個文件夾中。
有人能告訴我如何獲取字體的字體名稱嗎?我怎樣才能取得具有字體名稱的字體的Windows名稱?獲取未安裝字體的字體和Windows名稱
像「arialblackno1.ttf」那樣有字體「arialblack」。
但我期待得到沒有安裝的字體的字體名稱,它只是在一個文件夾中。
你在你需要的不是安裝在Windows字體的名字作出的評論說。
有跡象表明,我能想到的這樣做的方法有兩種: -
使用FreeType
或者,使用GDI +,和PrivateFontCollection.AddFontFile()
無論哪種方式,你將需要爲這些庫找到Delphi包裝器。谷歌應該幫助。
似乎有一個FreeType綁定作爲AggPas的一部分。儘管這不是我嘗試過的。
其實,我有什麼你問一個小想法(條款!)
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;
感謝您的回答user759588 ...此過程給出了安裝在窗口中的字體的字體名稱......但我期待獲得字體的字體名稱沒有安裝它只是在一個文件夾中......並沒有告訴上面的抱歉....另一個問題是如何獲得像「arialblackno1.ttf」這樣的Windows字體名稱字體=「arialblack」...對不起,我的朋友,我的英語是可怕的... – azrael11 2011-06-01 10:14:08
有趣的使用代碼格式:) – jpfollenius 2011-06-01 07:05:51