2010-06-10 145 views

回答

4

This helpful article表明,通過查看註冊表項

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts 

你會得到字體名稱,文件名對的列表。打開所述註冊表項,迭代名稱直到找到匹配項,然後該值包含文件名(不含路徑)。

+0

謝謝!其實,我的蜂巢中有一些人確實有完整的路徑。因此,它看起來像假定位於系統字體文件夾中,除非它具有完整路徑,在這種情況下它的路徑。無論哪種方式,這正是我所需要的。 – Nick 2010-06-14 13:15:26

+0

@Nick:需要注意的一點是,註冊表配置單元中的那些實際上並不匹配Font.Name - 它們通常在「Arial(TrueType)」中附加註冊表項中的某些內容,如「(TrueType)」。這在大多數情況下可以使用RegEx通過刪除附加描述符來標準化字體名稱,但並非總是如此。我的需求與您的需求相似,但我需要正確性,包括字體的外部語言名稱。我所做的是從配置單元中獲取所有字體文件名,並讀取每個ttf或ttc的頭文件以提取名稱,使其與已安裝的字體名稱匹配。 – 2010-06-18 16:05:33

相關問題