c#从.ttf中获取字体样式
本文关键字:字体 样式 获取 ttf | 更新日期: 2023-09-27 18:18:41
我现在写了一个程序,从C:'Windows'WinSxS
字典中搜索所有的。ttf文件,并将它们复制到另一个字典(我想我不必在这里发布一些代码,因为它工作得很好)。
现在问题来了。例如,字体arial
以名称arial.ttf
保存,但该文件以相同的名称存在超过1次。现在我在这里找到了这个链接:获得ttf文件的字体名称,但输出名称仍然相同(总是arial
)。我认为这些文件之间的区别是fontstyle
(斜体,粗体,…),但我怎么能得到每个*.ttf
文件的字体样式?
您需要一个对PresentationCore的引用。这样你就可以使用GlyphTypeface来检查样式和粗细:例子:
using System.Windows.Media;
GlyphTypeface ttf = new GlyphTypeface(new Uri(@"C:'Windows'Fonts'calibrii.ttf"));
Debug.Print(ttf.Style.ToString()); //=Italic or Normal
Debug.Print(ttf.Weight.ToString()); //=Bold or Normal
不能使用Postscript OTF。
编辑:感谢c#库处理字体文件- TTF (TrueType),其他