我已经写了这段代码:
List<string> fontNames = new List<string>();
foreach (FontFamily font in FontFamily.Families)
{
fontNames.Add(font.Name);
}
获取字体名称,但是如果你想将字体复制到另一个文件夹,我怎样才能获得字体的文件名以进行复制操作?
谢谢。
答案 0 :(得分:2)
如果您能够访问注册表,那么您可以从密钥中获取文件名:'HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts',基本上每个字体文件都放在C:\中Windows \ Fonts,除非在别处提及。
答案 1 :(得分:1)
CP上有一个C ++解决方案getting a filename from a HFONT
GDI+ font handle。
您可以先使用Font.ToHfont()
method获取字体句柄,然后使用上述CP文章中的代码。当然,这需要使用一些PInvoke将C ++代码重写为C#。