Font problems when exporting as EPS

61 Ansichten (letzte 30 Tage)
Jeff
Jeff am 8 Okt. 2014
Beantwortet: Ema am 15 Jan. 2019
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 Kommentare
Jeff
Jeff am 16 Mär. 2015
Update: I just downloaded R2015a. It still does not encode fonts correctly into EPS files. Disappointing that this bug was not fixed for the new release.
povilas ambrasas
povilas ambrasas am 24 Okt. 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')

Melden Sie sich an, um zu kommentieren.

Antworten (12)

JanikKk
JanikKk am 14 Jul. 2016
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:
  1. Make your plots in Matlab, save them as .eps with whichever font you want
  2. 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)
  3. Open the eps.-file with Illustrator and click "ok" when the error message about the missing font pops up
  4. Now go to "Fonts --> Find Font..."
  5. The "Find font" dialogue shows which fonts are in your document. Missing fonts are displayed with an asterisk*.
  6. 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
Erik Johnson am 4 Mai 2016
Bearbeitet: Erik Johnson am 4 Mai 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 Kommentar
Razvan
Razvan am 7 Mai 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.

Melden Sie sich an, um zu kommentieren.


matt dash
matt dash am 13 Okt. 2014
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 Kommentar
Jeff
Jeff am 14 Okt. 2014
I never knew that and EPS file could be edited in a text editor. I always assumed it was a binary format. Replacing "any" with "Helvetica" fixed the main text problem. The symbol did not come through, still, and I also am stuck with gray axes, which I am sure I can figure out how to fix. That said, I'm not going to run a batch replace on every figure I make. The exporter in R2014b needs to be fixed. I should note that this happens when doing a PDF export as well, so it is a more general exported problem.

Melden Sie sich an, um zu kommentieren.


Ema
Ema am 15 Jan. 2019
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
Jeff am 9 Okt. 2014
I wanted to provide an update with more details of my problem. In Matlab R2014a and earlier, the figure I want to make looks like:
I plotted this using standard plot commands and exported as an EPS file using the "print -depsc filename.eps" command. I have done this for over a decade in many versions of Matlab. It always works the same. The uploaded figure is generated after opening in Adobe Illustrator CS6 and exporting as a PNG since EPS files can't be displayed online easily.
Now, if I run the exact same script in the new release, Matlab R2014b, the figure looks the same in Matlab, but the exported EPS file looks like:
Most critically, the fonts no longer pass through. I had Helvetica plus a symbol font before. Now, despite the fonts showing up fine in Matlab, the fonts in the EPS figure are all screwed up. Illustrator gives an error when opening the file that says it cannot find the fonts "any:" and "any-Bold:". This has to be something to do with the new graphics component of Matlab R2014b, but I don't know what code to use to get around this since the code that has worked for a decade no longer works. I'm not doing anything weird.
I should also not that the print command takes a lot longer to run. Bracketing the command with tic and toc gives 0.25 seconds in R2014a but 3.08 second in R2014b. Something is really messed up with R2014b but I am hoping there is some sort of work around. For now I will keep using Ro2014a but welcome any suggestions.
  4 Kommentare
Jeff
Jeff am 13 Okt. 2014
Had never thought of the 'Interpreter' command. Unfortunately, still have the same problem in R2014b. Fine in all earlier versions. Getting rid of bold also does not fix things.
Elizabeth Jones
Elizabeth Jones am 2 Dez. 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.

Melden Sie sich an, um zu kommentieren.


Doug Hull
Doug Hull am 13 Okt. 2014
Bearbeitet: Doug Hull am 13 Okt. 2014
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 Kommentare
Walter Roberson
Walter Roberson am 11 Jul. 2017
Jeff, what was Mathwork's response when you opened a technical support case on this matter?
Jeff
Jeff am 6 Mär. 2018
I don't remember, their exact response, but it was always very dragged out, and I have a job and can't spend hours dealing with them. The problem is well documented here and has not been fixed. They should address it. I'm pretty fed up.

Melden Sie sich an, um zu kommentieren.


yserra
yserra am 10 Feb. 2015
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 Kommentare
Stewart Smith
Stewart Smith am 13 Dez. 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
Walter Roberson am 13 Dez. 2015
Stewart, what was Mathwork's response when you opened a technical support case on this matter?

Melden Sie sich an, um zu kommentieren.


Brian
Brian am 20 Feb. 2015
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
Razvan am 29 Jan. 2016
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
Corina am 20 Jul. 2016
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.

mwatts
mwatts am 6 Mär. 2018
same issue in 2017b
  1 Kommentar
Jeff
Jeff am 6 Mär. 2018
I'm still running 2014a. I have tried Mathworks Tech Support but they respond slowly, don't believe me, and drag this out. I have work to do, and can't follow up with them regularly, and then the just mark the problem solved.

Melden Sie sich an, um zu kommentieren.


lachlan greve
lachlan greve am 30 Aug. 2018
fix it
  1 Kommentar
Jeff
Jeff am 30 Aug. 2018
And Mathwork's comment system is so poorly designed that it asked me "If lachlan greve's answer resolves your question?" Obviously, this resolved nothing, and I appreciate you chiming in that all of this needs to be fixed.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Environment and Settings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by