如何获得字体文件名

Mictel 2008-12-14 12:21:15
我想获得字体文件的文件名,谁知道如何操作
比如通过 Arial 获得 arial.ttf
除了通过注册表还有什么其他的方法吗?
注册表查找中文字体时不准确
...全文
144 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpio 2008-12-16
  • 打赏
  • 举报
回复

我感觉从HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts下面读取出来的数据比较完整

我不知道你说中文不准确是什么意思,我试了几个中文文件名名的字体,也可以啊
Mictel 2008-12-16
  • 打赏
  • 举报
回复
这个效率太低了
net5i 2008-12-14
  • 打赏
  • 举报
回复
注意:先得到系统字体文件名称列表,然后上面的szFileName就是取自这个列表
net5i 2008-12-14
  • 打赏
  • 举报
回复
我认为除了访问注册表,没有其他更好的办法了

当然,还有一个避开注册表,但效率较低的办法:

得到系统字体文件列表,然后循环这个列表:
System.Drawing.Text.PrivateFontCollection lstFontCollection = new System.Drawing.Text.PrivateFontCollection();
lstFontCollection.AddFontFile(szFileName);
if (lstFontCollection.Families[lstFontCollection.Families.Length - 1].Name == 你的字体名称)
{
//执行你的操作
}
//最后释放掉
lstFontCollection.Dispose();

这样也是可以的,但就是效率肯定低

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧