As far as I can tell, WPF does not provide any information about the available GSUB tables (which tell you this information). Everything is hidden inside PresentationCore private classes.
One way would be to use WPF's advanced text services to create a TextFormatter , and then get GlyphRun created GlyphRun piece of text with options, and one with options turned off, and then compare the glyph indices used.
Another way is to physically examine the font data through GlyphTypeFace.GetFontStream() . The TrueType font format is not very complex, so you will probably find some information on the net about how to analyze binary font data to find information about GSUB tables.
Note that just asking for a fade option is also a bit ambiguous. The font may say that it supports the option, but nothing requires it to actually provide any meaningful replacements. Most Adobe fonts provide only a few lowercase alphabetic characters for things like superscript and index (not even the whole Latin alphabet, mind you). This is pretty useless, IMHO, since you can't ask WPF to fake indexes or superscripts like Word and other word processors.
However, it would be nice if you could just ask TypeFace.GetSupportedOpenTypeFeatures() .
Ruben source share