如果您想获取 FontFamily 而不是 fileFonts.Families[0].Name 中的值,您可以按文化在 family.FamilyNames 中找到它:
FontFamily family = new FontFamily(String.Format("file:///{0}#{1}", fi.FullName, fileFonts.Families[0].Name));
Console.WriteLine("\tFamilySource: {0}", family.Source);
foreach (var x in family.FamilyNames)
{
Console.WriteLine("\tFamilyName: {0}", x); // <------ HERE
}
foreach (var y in family.FamilyTypefaces)
{
foreach (var z in y.AdjustedFaceNames)
{
Console.WriteLine("\tTypeface: {0}",z);
}
}
示例输出:
Arial
FamilySource: file:///C:\Users\tim\Desktop\arial.ttf#Arial
FamilyName: [en-us, Arial]
Typeface: [en-us, Regular]
Typeface: [en-us, Bold]
Typeface: [en-us, Bold Oblique]
Typeface: [en-us, Oblique]
Arial
FamilySource: file:///C:\Users\tim\Desktop\arialbd.ttf#Arial
FamilyName: [en-us, Arial]
Typeface: [en-us, Bold]
Typeface: [en-us, Bold Oblique]
Arial
FamilySource: file:///C:\Users\tim\Desktop\arialbi.ttf#Arial
FamilyName: [en-us, Arial]
Typeface: [en-us, Bold Italic]
Arial
FamilySource: file:///C:\Users\tim\Desktop\ariali.ttf#Arial
FamilyName: [en-us, Arial]
Typeface: [en-us, Italic]
Typeface: [en-us, Bold Italic]
Arial Narrow
FamilySource: file:///C:\Users\tim\Desktop\ARIALN.TTF#Arial Narrow
FamilyName: [en-us, Arial]
Typeface: [en-us, Condensed]
Typeface: [en-us, Condensed Bold]
Typeface: [en-us, Condensed Bold Oblique]
Typeface: [en-us, Condensed Oblique]
Arial Narrow
FamilySource: file:///C:\Users\tim\Desktop\ARIALNB.TTF#Arial Narrow
FamilyName: [en-us, Arial]
Typeface: [en-us, Condensed Bold]
Typeface: [en-us, Condensed Bold Oblique]
Arial Narrow
FamilySource: file:///C:\Users\tim\Desktop\ARIALNBI.TTF#Arial Narrow
FamilyName: [en-us, Arial]
Typeface: [en-us, Condensed Bold Italic]
Arial Narrow
FamilySource: file:///C:\Users\tim\Desktop\ARIALNI.TTF#Arial Narrow
FamilyName: [en-us, Arial]
Typeface: [en-us, Condensed Italic]
Typeface: [en-us, Condensed Bold Italic]
Arial Black
FamilySource: file:///C:\Users\tim\Desktop\ariblk.ttf#Arial Black
FamilyName: [en-us, Arial]
Typeface: [en-us, Black]
Typeface: [en-us, Black Oblique]
也就是说,您的注释“我有一些字体具有相同的字体名称,但有另一个字体名称,我希望能够区分它们”表明 FontFamily 不是您真正想要的。