Font problems when exporting as an .eps

12 views (last 30 days)
Sebastiano Verri
Sebastiano Verri on 17 Nov 2021
Edited: engdancili on 11 Aug 2022
Hello I would like to export my plot as an .eps file of the following code:
set(0,'defaulttextinterpreter','latex')
set(0,'DefaultAxesFontName', 'LM Roman 10')
x = [];
% Generate all positive numbers of the system (2,3,-2,3)
for i = 1:0.25:1.75
for j = -2:3
x = [x i*2^j];
end
end
x=[x -x 0]; % Add all negative numbers and 0
x = sort(x); % Sort
y = zeros(1,length(x));
plot(x,y,'+')
xlabel('numbers available')
The problem is that when i run the script the figure's window opening has the required fonts:
But the eps file has the font of all the numbers wrong:
What can I do?
Thanks

Answers (1)

Richard Quist
Richard Quist on 29 Nov 2021
Font support in MATLAB-generated Postscript/Encapsulated Postscript is limited. Unsupported fonts are usually replaced by 'Courier' which is what appears to be happening in your figure.
If PDF is an acceptable format you can use the exportgraphics function in R2020a and later and it will embed the font in the output file if possible (not all fonts support embedding).
exportgraphics(fig, 'output.pdf');
The PDF file generated by exportgraphics is typically tightly cropped, eliminating the margins that are normally included when generating PDF files with the print command.
  1 Comment
engdancili
engdancili on 11 Aug 2022
Edited: engdancili on 11 Aug 2022
Unfortunately it also happens when converting a figure with custom symbols (minus sign instead of hyphen character) to pdf. It seems there is no workaround to this. Why not giving the option to convert all fonts to glyphs instead of embedding them?
P.s. - However, it does work when converting to .eps: the minus sign is included.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!