We've recently published a new corporate PowerPoint template. Our user base is mixed 2010, 2013, and 2016. Our designers in their wisdom chose two Google fonts (which most people outside our company do not have installed) as the main header and body fonts. So we are forced by default to use PowerPoint's embed fonts feature to ensure that our clients will see the presentation as intended without unwanted font substitution.
This works fine in most cases where we can tightly control the source slides. Users inevitably cut and paste in old slides that bring with them other fonts, but we teach them how to Replace Fonts to get rid of those. But the Replace function doesn't always work
, and PowerPoint will continue to display "phantom fonts" that are not actually used anywhere in the presentation. See the image below.
It's well documented that PowerPoint has some flaws when dealing with fonts, but we really need to fix this.
I wrote a VBA macro that lists out all the fonts in the Presentation.fonts collection, then goes through every shape on every slide and layout and spits out the font used. The printout below is from the same presentation as above. VBA can only find five of the fonts, and every other font in the listout is either Playfair or Roboto (the 2 Google fonts). Where are the others??
One last piece of the puzzle. I know for certain that the phantom fonts ARE in the file, because if I save the …