This exception occurs because GDI+ Only supports True Type fonts. Modern/open type fonts are not Supported by C#.Open Type fonts has been created by merging the old True Type and PostScript Fonts, as the result the Open type font may have a true type or postscript specification.
Although the Font Dialog control was designed to filter out these Non True Type fonts by using ChooseFont() API call with the CF_TTONLY option ,some Fonts may represent or call themselves as true type fonts.These are the Fonts with bad/Invalid MetaData that causes the Exception.
Unfortunately there is NO SOLUTION,I have found articles on the web giving the following solutions these include
- Setting FontDialog.AllowSimulations property to false.
- Setting FontDialog.AllowScriptChange property to false