This example shows how to read OpenType font metadata.
using(Metadatametadata=newMetadata(Constants.InputTtf)){varroot=metadata.GetRootPackage<OpenTypeRootPackage>();// Read the OpenType font metadataforeach(varmetadataEntryinroot.OpenTypePackage.Fonts){// Display the values of some metadata propertiesConsole.WriteLine(metadataEntry.Created);Console.WriteLine(metadataEntry.DirectionHint);Console.WriteLine(metadataEntry.EmbeddingLicensingRights);Console.WriteLine(metadataEntry.Flags);Console.WriteLine(metadataEntry.FontFamilyName);Console.WriteLine(metadataEntry.FontRevision);Console.WriteLine(metadataEntry.FontSubfamilyName);Console.WriteLine(metadataEntry.FullFontName);Console.WriteLine(metadataEntry.GlyphBounds);Console.WriteLine(metadataEntry.MajorVersion);Console.WriteLine(metadataEntry.MinorVersion);Console.WriteLine(metadataEntry.Modified);Console.WriteLine(metadataEntry.SfntVersion);Console.WriteLine(metadataEntry.Style);Console.WriteLine(metadataEntry.TypographicFamily);Console.WriteLine(metadataEntry.TypographicSubfamily);Console.WriteLine(metadataEntry.Weight);Console.WriteLine(metadataEntry.Width);foreach(OpenTypeBaseNameRecordnameRecordinmetadataEntry.Names){Console.WriteLine(nameRecord.NameID);Console.WriteLine(nameRecord.Platform);Console.WriteLine(nameRecord.Value);OpenTypeMacintoshNameRecordmacintoshNameRecord=nameRecordasOpenTypeMacintoshNameRecord;if(macintoshNameRecord!=null){Console.WriteLine(macintoshNameRecord.Encoding);Console.WriteLine(macintoshNameRecord.Language);}else{OpenTypeUnicodeNameRecordunicodeNameRecord=nameRecordasOpenTypeUnicodeNameRecord;if(unicodeNameRecord!=null){Console.WriteLine(unicodeNameRecord.Encoding);}else{OpenTypeWindowsNameRecordwindowsNameRecord=nameRecordasOpenTypeWindowsNameRecord;if(windowsNameRecord!=null){Console.WriteLine(windowsNameRecord.Encoding);Console.WriteLine(windowsNameRecord.Language);}}}}}}