从字体名称查找字体文件 (VB.Net 版本)






1.77/5 (8投票s)
如何从字体名称获取字体文件名
从字体名称查找字体文件 (VB.NET 版本)
有人请求我帮助他从“字体名称”获取“字体文件的名称”(例如,“Arial”的文件是“ARIAL.TTF”,位于 %systemroot%\fonts 文件夹中);我在 CodeProject 网站上找到一个不错的解决方案:https://codeproject.org.cn/gdi/fontfile.asp。它使用 VisualC++ 6 编写;我将代码转换为 VB.NET
它能做什么
从字体的显示名称(例如,你在 MS Word 字体组合框中看到的名称)检索字体文件名。Windows 的所有 Win32 版本,追溯到最初的 Win95,都在 Windows 目录下有一个名为“Fonts”的目录。该目录在注册表中 HKLM\Software\Microsoft\Windows\CurrentVersion\Fonts 键下镜像。当然,在 NT 下,"Windows" 被替换为 "Windows NT"。
如果未找到字体名称,我会在注册表中搜索,如果未找到,则追加“(True Type)”,如果仍然未找到,则追加“(All Res)”。
如何使用它
在 VB.NET 模块中有 2 个主要函数
getOSVer
用于获取操作系统版本(以确定将使用哪个注册表键)RegValue
用于从注册表中读取值