In the minimal example below (compiled with XeLaTeX in MacTex), the FakeBold option in package fontspec works as intended for the main text, using Times to represent the non-default font I am using in my actual document. However, FakeBold also thickens the Helvetica font used in the included graphic plot.pdf (available from here) although the Helvetica font is not embedded in that PDF.
Furthermore, the Helvetica font is thickened to the same degree regardless of the FakeBold setting, i.e. FakeBold=0.5, FakeBold=1, FakeBold=3 all produce the same amount of thickening in the Helvetica font. However, if I embed the Helvetica into plot.pdf, then FakeBold works nicely within the graphic.
There are two issues here:
FakeBoldwas invoked only for Times but it affected the Helvetica in the graphic.In the case where Helvetica hadn't been embedded in the graphic,
fontspecapparently detected the presence of some kind of text in the graphic and applied a thickening that was insensitive to the setting ofFakeBoldfor the main text.
I tried to prevent FakeBold from thickening the text in the graphic by setting FakeBold=0 just before the graphic but to no effect. I also tried \setsansfont[FakeBold=0]{Helvetica} but of course this had no effect because the text within the graphic wasn't being identified as Helvetica. I have tried other fonts for the main text and within the graphic and the same behaviour arises. There does not appear to be any mention of this in the fontspec documentation, and I am incapable of getting into its source code to look for the cause.
I would be very grateful if someone could hint at how I could overcome this problem. I apologise if it's something blindingly obvious.
\documentclass{minimal}
\usepackage{graphicx}
\usepackage{fontspec}
\setmainfont[FakeBold=1]{Times}
\begin{document}
Test test test
\includegraphics{plot.pdf}
\end{document}