TrueType font embedding in eps problem.

This is going to be a tricky one, particularly since I don't have access to Illustrator. All I know is the eps and pdf output of simple_plot.py looks fine for me in ghostscript, acroread, xpdf and evince. Even text select copy and paste works fine in acroread (with both Type 3 and 42 fonts). So my guess is that unfortunately Illustrator is not fully covering the spec, and we've inadvertently moved to using a feature it doesn't like.

Now if this really did work in Illustrator in 0.90.x and not now, one could start to compare the output by hand and see what the root cause may be. If you set "pdf.compression" to 0, the Pdf file becomes vaguely readable, and tools such as diff can help to locate differences. I would take the output of 0.90.1 and 0.91.2 and compare (the SVN trunk will be too different to be useful), and then start moving things over piece by piece until it works again. I'm afraid that without Illustrator, it will be hard for me to do that.

No other obvious thoughts pop to mind at the moment, but I'll keep thinking about it in a background process and let you know if I think of anything.

Cheers,
Mike

Rob Hetland wrote:

···

Off the list because of the figures.....

Here is an example of a pdf and eps produced from the latest svn (with the transforms that broke my polygon editors....)

Illustrator (my version is from CS3) looks identical to the screen grabs. The text in the eps is not editable (it is the frame of the characters), the text in the pdf _is_ editable, but the characters are all single, so, for example cool is a series of independent characters.

Note the yaxis text in the pdf is offset. It looks the same in other viewers, so it is not Illustrators fault.

-Rob

------------------------------------------------------------------------

------------------------------------------------------------------------

On Jan 17, 2008, at 2:55 PM, Michael Droettboom wrote:

There was a change between 0.90 to 0.91 as to how the TrueType to Type
42 (which is essentially a thin wrapper around a TrueType font)
conversion is done. In 0.90 it was done in Python -- in 0.91 when font
subsetting was added, this conversion is done in some borrowed C code
called "ttconv". That's just a guess as to what may be the specific
cause. I don't have a copy of Illustrator, so I haven't done any
testing with that. I'm happy to hear of a positive report from Rob.
Perhaps you both (Rob and Jordan) are using different versions of
Illustrator?

Note that ps.useafm essentially overrides the ps.fonttype setting. If
ps.useafm is True, you will always only get one of the 14 "builtin"
Postscript fonts, which are not embedded in the file because all
Postscript interpreters are required to support them. If ps.useafm is
False, then the other setting kicks in. Type 42 essentially includes
the whole Truetype font somewhat verbatim in the Ps file. Type 3 will
include only the used characters, using a format that is more native to
Postscript.

All of them *should* be able to be editable on a purely theoretical
level, though I would imagine Type 3 to be broken if you try to add a
character that wasn't embedded in the file. (This is different from how
matplotlib does SVG font embedding where the original text really is
lost). But I don't really know what Illustrator's abilities and
limitations are in that regard.

Hopefully Rob's suggestions will work for you. Otherwise, I may want to
revisit pulling the old Type 42 code back out of SVN to see if that
solves your problem. A good place to start might be if you could send
me (off list) two eps files of the same plot -- one created with 0.90.1,
and one with 0.91.2.

Cheers,
Mike

Rob Hetland wrote:

There have been quite a few changes to fonts in MPL since 8.x.
Perhaps one of the biggest is mathtext. Real unicode fonts with
mathematics. Since you do what I do, sort of, I am guessing that you
might be happy with the same configuration I use. I looks great, and
can be edited in Illustrator (et al.).

I really like Arev Sans, but others like the new STIX fonts. This
setup is for Arev Sans. The important stuff is what begins with
mathtext. If you want serif fonts, this should be enough to get you
started on customizing. Just make sure whatever fontset you pick has
all of the math symbols built in, or change fallback_to_cm to True.

-Rob

font.family : sans-serif
font.style : normal
font.variant : normal
font.weight : medium
font.stretch : normal
font.size : 12.0
font.serif : STIX, Bitstream Vera Serif, New Century
Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman,
Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
font.sans-serif : Arev Sans
font.cursive : Zapfino, Apple Chancery, Textile, Sand, cursive
font.fantasy : Chicago, Comic Sans MS, Charcoal, Impact,
Western, fantasy
font.monospace : Bitstream Vera Sans Mono, Andale Mono, Nimbus
Mono L, Courier New, Courier, Fixed, Terminal, monospace

text.color : black
text.usetex : False
text.dvipnghack : True

mathtext.fallback_to_cm : False
mathtext.fontset : custom

mathtext.cal : Arev Sans:oblique
mathtext.it : Arev Sans:oblique
mathtext.rm : Arev Sans
mathtext.bf : Arev Sans:bold
mathtext.sf : Arev Sans

pdf.fonttype : 42

On Jan 16, 2008, at 10:13 PM, Jordan Dawe wrote:

Setting ps.useafm = True while ps.fonttype = 42 allows illustrator to
open the eps files again and gives me back text editing capability,
but
I don't have any control over the typeface anymore, it just
defaults to
Helvetica.

Jordan

----------------------------------------------------------------------
---
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

----
Rob Hetland, Associate Professor
Dept. of Oceanography, Texas A&M University
http://pong.tamu.edu/~rob
phone: 979-458-0096, fax: 979-845-6331

-------------------------------------------------------------------------

This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

----
Rob Hetland, Associate Professor
Dept. of Oceanography, Texas A&M University
http://pong.tamu.edu/~rob
phone: 979-458-0096, fax: 979-845-6331

--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

Michael Droettboom wrote:

This is going to be a tricky one, particularly since I don't have access to Illustrator. All I know is the eps and pdf output of simple_plot.py looks fine for me in ghostscript, acroread, xpdf and evince. Even text select copy and paste works fine in acroread (with both Type 3 and 42 fonts). So my guess is that unfortunately Illustrator is not fully covering the spec, and we've inadvertently moved to using a feature it doesn't like.

Just to be clear: Type 3 font output opens fine in illustrator for both pdf and eps output. Type 42 pdf output opens in illustrator but eps gives an error. The type 42 eps output opens fine for me in ghostscript and in Scribus for windows (which probaby is just using gs anyways...?) Illustrator definitely looks like the picky one here, but it seems strange to me... isn't eps Adobe's format?

Now if this really did work in Illustrator in 0.90.x and not now, one could start to compare the output by hand and see what the root cause may be. If you set "pdf.compression" to 0, the Pdf file becomes vaguely readable, and tools such as diff can help to locate differences. I would take the output of 0.90.1 and 0.91.2 and compare (the SVN trunk will be too different to be useful), and then start moving things over piece by piece until it works again. I'm afraid that without Illustrator, it will be hard for me to do that.

It was definitely working in illustrator before, and isn't working now. If there's anything I can do to help, please let me know. Want a type 42 and type 3 version of my eps output?

Jordan

Jordan Dawe wrote:

Michael Droettboom wrote:

This is going to be a tricky one, particularly since I don't have access to Illustrator. All I know is the eps and pdf output of simple_plot.py looks fine for me in ghostscript, acroread, xpdf and evince. Even text select copy and paste works fine in acroread (with both Type 3 and 42 fonts). So my guess is that unfortunately Illustrator is not fully covering the spec, and we've inadvertently moved to using a feature it doesn't like.

Just to be clear: Type 3 font output opens fine in illustrator for both pdf and eps output. Type 42 pdf output opens in illustrator but eps gives an error. The type 42 eps output opens fine for me in ghostscript and in Scribus for windows (which probaby is just using gs anyways...?) Illustrator definitely looks like the picky one here, but it seems strange to me... isn't eps Adobe's format?

Sure, but these formats are complex enough I'm not terribly surprised there's problems. I'm not necessarily blaming Illustrator here, either.

Now if this really did work in Illustrator in 0.90.x and not now, one could start to compare the output by hand and see what the root cause may be. If you set "pdf.compression" to 0, the Pdf file becomes vaguely readable, and tools such as diff can help to locate differences. I would take the output of 0.90.1 and 0.91.2 and compare (the SVN trunk will be too different to be useful), and then start moving things over piece by piece until it works again. I'm afraid that without Illustrator, it will be hard for me to do that.

It was definitely working in illustrator before, and isn't working now. If there's anything I can do to help, please let me know. Want a type 42 and type 3 version of my eps output?

Maybe it makes sense to work on what causes errors first, and worry about the editing problems second. So, that would probably mean comparing eps with Type 42 from mpl 0.90.1 and 0.91.2. I'll try and get these going and might ask you to try some hacked up files in Illustrator for me as I try to narrow down the real cause.

Cheers,
Mike

···

--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA