Font problems when exporting as EPS
Mostrar comentarios más antiguos
I just upgraded to R2014b. When exporting figures via "print -depsc" the resulting EPS files have weird fonts embedded that are unreadable by Adobe Illustrator. Is there anything I can do to fix this? I want to go back to exporting with helvetic or arial font.
8 comentarios
matt dash
el 8 de Oct. de 2014
Does it tell you the names of the "weird fonts"? Maybe they are TeX or LaTeX fonts? If so you can copy the appropriate fonts from your matlab folder to your illustrator folder.
Jeff
el 9 de Oct. de 2014
Gideon simpson
el 4 de Nov. de 2014
Editada: Walter Roberson
el 13 de Nov. de 2015
I'm having a similar issue on OS X 10.9.4 when I open a figure (that uses latex) in Preview.app. I get the error:
PostScript Conversion Warning:
Converting the PostScript file "test.eps" produced the following warnings:
· CMR10 not found, using Courier.
· CMMI10 not found, using Courier.
Robert Womersley
el 5 de En. de 2015
Editada: Walter Roberson
el 13 de Nov. de 2015
I am having a similar issue with R2014b under Unbunto14.04 with Greek letters in title and export to .eps, .ps or .pdf (all of which by default use painters renderer rather opengl which is used for screen image). Just try
figure(1);
%plot(x, y) % Actual plot irrelevant, pick any x, y or omit
title('Plot 1, default settings: sin(4 \pi x)');
print -depsc fonterr1
The file fonterr1.eps refers to a font /any rather than something like /mwb_cmmi10, so the \pi is not displayed correctly (and the spacing is ugly). Removing bold in title (default Helvetica bold) or adding some Greek text in plot both produce correct symbol, but ugly spacing. Using LaTeX as interpreter works, as does using opengl as renderer (but then you get bitmap rather than vector format).
Seems to be a bug with painters renderer and certain symbols? Happy to proved more detailed test script.
Luigi Feriani
el 12 de En. de 2015
Editada: Luigi Feriani
el 12 de En. de 2015
Hi, I got the same bug today when I first installed 2014b (Win7 x64).
For me 2 things worked:
1. saving to svg instead (although I realise it isn't really a solution) using
print(gcf,'pippo.svg','-dsvg')
2. creating a dummy axes with a single, non-bold, greek letter, and putting it on the bottom of the figure with the same color of the figure background
% plot
plot(1,1);
xlabel('sin\pi','FontWeight','b');
ylabel('sin\pi','FontWeight','b');
%dummy axes now
dummy = axes;
dummy.XColor = get(gcf,'Color');
dummy.YColor = get(gcf,'Color');;
xlabel(dummy,'\pi');
uistack(dummy,'bottom');
after doing this I could both successfully save as an .eps and use export_fig, although it looks like only the latin letters are bold
Ian Harris
el 26 de En. de 2015
Editada: Walter Roberson
el 13 de Nov. de 2015
I upgraded to 2014b last week (OSX 10.10.1, 'Yosemite').
I produce .eps files with Matlab, then convert to .pdf using the Preview app.
Now I get the font error when Preview tries to convert to .pdf:
'Helvetica-Italic not found, using Courier'
Of course, the font should be called 'Helvetica-Oblique' - this is the font listing in the .eps files:
%FOPBeginFontDict
%%IncludeResource: font Courier-Bold
%%IncludeResource: font Helvetica
%%IncludeResource: font Courier-BoldOblique
%%IncludeResource: font Courier-Oblique
%%IncludeResource: font Times-Roman
%%IncludeResource: font Helvetica-BoldOblique
%%IncludeResource: font Helvetica-Bold
%%IncludeResource: font Helvetica-Oblique
%%IncludeResource: font Times-BoldItalic
%%IncludeResource: font Courier
%%IncludeResource: font Times-Italic
%%IncludeResource: font Times-Bold
%%IncludeResource: font Symbol
%%IncludeResource: font ZapfDingbats
%FOPEndFontDict
Yet, later on, other font names appear, eg:
/Helvetica-Italic 4 F
I assume this is what's causing the problem?
PLEASE get it fixed. This breaks Preview so I can't use it to join multiple plots into a .pdf any more! I need to do this regularly..
EDIT: I tried a global find & replace to change 'Helvetica-Italic' into 'Helvetica-Oblique' - that worked perfectly. So it seems to be a case of the .eps generator not paying attention to the included font names that it knows about.
Jeff
el 16 de Mzo. de 2015
povilas ambrasas
el 24 de Oct. de 2015
I had the same problem, fonts aren't exported correctly to EPS in Matlab 2015b. The use of TickLabelInterpreter solved the problem
set(a,'TickLabelInterpreter', 'latex')
Respuestas (12)
JanikKk
el 14 de Jul. de 2016
3 votos
Workaround
I have the same issue with Matlab R2015a. When I try to open the exported .eps file (a simple x-y plot) in Illustrator (CS6) I get an error message, which says that a couple fonts are missing: mwa_cmmi10, mwb_cmmi10, etc and Illustrator will replace them. I used the Latex interpreter in the axes labels, "cmmi" indicates that Matlab used the computer modern font family, which is the typical Latex font family. The only problem is that Matlab, for some reason, added the "mwa_" or "mwb_" in front of the actual font names, which are embedded in the file. These font names do not exist in the system (I'm using Mac) and therefore Illustrator cannot access them.
What worked for me:
- Make your plots in Matlab, save them as .eps with whichever font you want
- Download the font family you used or check if it's already installed on your system (common fonts like Helvetica (on Mac), Times, etc are usually already installed. The Latex fonts//the computer modern family can be found on the internet)
- Open the eps.-file with Illustrator and click "ok" when the error message about the missing font pops up
- Now go to "Fonts --> Find Font..."
- The "Find font" dialogue shows which fonts are in your document. Missing fonts are displayed with an asterisk*.
- Replace these fonts with the corresponding font availabe in your system. For me it was "mwa_cmmi10" --> "cmmi10" in regular and "mwb_cmmi10" --> "cmmi10" in bold.
(This did not solve all of my font problems but at least 90%. Still having problems with some math symbols) Check: https://helpx.adobe.com/illustrator/using/find-missing-fonts.html
Erik Johnson
el 4 de Mayo de 2016
Editada: Erik Johnson
el 4 de Mayo de 2016
This is still a problem in 2016a. Inexcusable that this has not been fixed in 2 years of releases.
plot([0 1],[0 1]);
xlabel('This is {\it{italic}}.')
ylabel('This is {\sl{slanted}}.')
print -depsc2 test.eps
"italic" and "slanted" are both set in the EPS file to be "Helvetica-Italic", which, of course, does not exist. The correct font is "Helvetica-Oblique" -- and has been for decades! This worked fine prior to HG2.
1 comentario
Razvan
el 7 de Mayo de 2016
You'll need to wait until Matlab 2035b is released. By that time they will fix all the bugs from the 2014b release. But by that time everyone will realize that there are alternatives (e.g. R) that can print eps files without any problems, and don't cost thousands of dollars.
matt dash
el 13 de Oct. de 2014
1 voto
This certainly looks like a bug in the eps export. I don't have 2014b yet, but when i run your code in 2014a Illustrator tells me the missing fonts are "Helvetica" and "Helvetica-Bold"... looks like somehow the new version is replacing the word Helvetica with "any". You can try editing the .eps file in a text editor and find/replacing "any" with "Helvetica"... who knows, it might work.
1 comentario
Jeff
el 14 de Oct. de 2014
Ema
el 15 de En. de 2019
1 voto
Hi All,
I have the same problem. I do not have Helvetica. Therefore I did a different test.
I saved the figure using Arial font. Result: AI still misses Helvetica... I found this weird.
Then I did a trick: I converted my matlab eps into pdf. In pdf it result correct (Arial font).
When imported in AI the pdf is also correct and recognize the arial font, without asking for Helvetica.
I am wondering if it is practical to save directly editable pdfs from matlab or alternatively convert the eps in pdf.
My suspect is that the problem is not matlab, rather AI.
What you think?
I am using Matlab R2018b
Jeff
el 9 de Oct. de 2014
0 votos
4 comentarios
Bruno Pop-Stefanov
el 10 de Oct. de 2014
Can you try using tex as the interpreter? Does that change anything?
xlabel(['k (' char(197) '^-^1)'],'FontSize',14,'FontName','Helvetica','FontWeight','bold','Interpreter','tex')
ylabel(['\chi(k)' char(197) '·k^3 (' char(197) '^-^3)'],'FontSize',14,'FontName','Helvetica','FontWeight','bold','Interpreter','tex')
Bruno Pop-Stefanov
el 10 de Oct. de 2014
What if you don't use bold fonts but just regular fonts?
Jeff
el 13 de Oct. de 2014
Elizabeth Jones
el 2 de Dic. de 2014
I am having the same issue, where symbols in my axis labels show up fine in the Matlab figure but do not export correctly when I save the file as either .eps (and insert into a LaTeX document) or as a .pdf. I hope this issue is resolved soon. It's annoying to have to open the figures in an older version of Matlab just to save as .eps.
From the printing developer:
The issue is that Illustrator complains about a missing Helvetica font when the file is imported. This is true in HG1 as well. We don't embed the font in our generated output file and if the font isn't installed locally on the system Illustrator won't find it.
It's funny in a way, given that Helvetica is one of the standard Adobe Postscript fonts and Adobe Illustrator doesn't provide support for it
Make sure AI has access to the font.
Can you send reproduction steps directly to hull @ mathworks.com
7 comentarios
Jeff
el 13 de Oct. de 2014
Doug Hull
el 14 de Oct. de 2014
You never said explicitly here: Did installing Helvetica help?
Jeff
el 15 de Feb. de 2015
Rena Berman
el 12 de En. de 2017
(Answers dev) unaccepted answer due to OP's request.
Jeff
el 11 de Jul. de 2017
Walter Roberson
el 11 de Jul. de 2017
Jeff, what was Mathwork's response when you opened a technical support case on this matter?
Jeff
el 6 de Mzo. de 2018
yserra
el 10 de Feb. de 2015
0 votos
Has this issue been addressed anywhere? I am having the same issue with 2014b installed on a mac running Yosemite OS. Times New Roman font is written to eps file as Times Roman and no other application (Illustrator or Preview) can open with correct font. Like the other users here, I've used Matlab for years and made eps files with no issue (at least not like this). This seems inexcusable that they would release this product with such a basic error.
3 comentarios
Jeff
el 15 de Feb. de 2015
Stewart Smith
el 13 de Dic. de 2015
It's a travesty that the Mathworks can't address issues like this given how much they charge for this piece of software. Nearly impossible to produce publication-quality figures anymore. That's why I'm defecting to Python.
Walter Roberson
el 13 de Dic. de 2015
Stewart, what was Mathwork's response when you opened a technical support case on this matter?
Brian
el 20 de Feb. de 2015
0 votos
I have this problem as well. One can maybe work around it by copying the symbol itself into the text command, rather than the latex escape. e.g., I had this problem with \omega, but when I used ω directly instead the problem was resolved. So the issue seems to be a latex->eps problem in matlab. (Truely annoying, however, yes.)
Razvan
el 29 de En. de 2016
0 votos
I wonder if Mathworks is ever going to fix this bug... It is present since R2014b... it is easily reproducible (every exported eps has some messed up fonts)... and I'm pretty sure R2016a will continue to have the bug. Come on Mathworks! Fix the damn bug!
Corina
el 20 de Jul. de 2016
0 votos
I have the same issue with Matlab R2014b. It also applies when using the Latex Interpreter in the Legend fields. Super annoying :(. I haven't found any workaround for it.
Categorías
Más información sobre Labels and Annotations en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

