[metapost] problem with 'dvips mproof'

Taco Hoekwater taco at elvenkind.com
Sun Oct 10 17:32:01 CEST 2010

On 10/10/2010 12:26 PM, Stephan Hennig wrote:
>> BTW, the prologues variable might be confusing because you have to
>> remember what all the values are good for. But it's probably
>> helpful to know that Metapost was designed to support dvips in the
>> first place, hence you don't have to set prologues at all for dvips.
> My understanding up until now was like your (possibly unintentional)
> conclusion in the last sentence: you don't have to set prologues to
> values >0 for dvips, but it doesn't hurt to do so. I'm seldom using
> dvips, but prefer pdftex, where prologues is much less relevant, but do
> I understand you correctly that setting prologues to 0 is /mandatory/
> when using dvips or dvipdfm as a post-processor for MetaPost files?

Apparently. The problem is that dvips subsets its own fonts without
adding a proper subset prefix to the font name, so that the embedded
font that results from prologues:=3 is actually not used.

(almost) All PostScript type1 fonts begin with a bit of special
PostScript that attempts to reuse an already defined font by the
same name, to preserve printer memory.

This works just fine if the predefined name is in fact the full
font, but it fails if (as is the case of dvips) the predefined
font is actually a subset of the font (in this particluar case only
the page number, '1', is included). This is also why Adobe is recommends
adding a subset prefix to subsetted fonts. But dvips does not do that,
even though Metapost does: that is why the font in s.1 is named
"ORMKKB-CMR10" instead of just "CMR10".

So, the cause of the problem is a flaw in dvips.

Best wishes,

More information about the metapost mailing list