[Fontinst] PCC problem

Lars Hellström lars.hellstrom at residenset.net
Tue Jun 14 14:50:11 CEST 2005

At 11.41 +0200 2005-06-14, Alexej Kryukov wrote:
>I am trying to install the Monotype Times New Roman SF
>family. Except standard Western characters, Monotype SF fonts
>also contain some additional glyphs, in particular those usually
>present in Expert fonts. In order to make these glyphs accessible
>I decided to reencode the font into the Adobe Expert encoding,
>i. e.:
>The problem is that the afm files contain a "Composites" block,
>so that the definitions of composite characters are written
>into mtx files, even if the Adobe Standard encoding doesn't
>include the base glyphs these composites are buit from (e. g.
>standard Latin letters). So, processing these mtx files by fontinst
>fails with PCC error.

Ohhh! A newly discovered, but _old_ problem. Kind of impressive.

>I would like to know, if it is possible to
>workaround the problem?

The easiest workaround is probably to first provide the corresponding
8r-encoded version of the font before the 8x-encoded, since this will make
sure the necessary glyphs are available. If you do mntr8r,mntr8x instead of
just mntr8x there shouldn't be a problem.

If you don't want that, you can use \reglyphfont to remove the PCC
commands. The setting to do this is just \offmtxcommand{\setglyph}.

>If not, I think it would be important
>to provide such a workaround in future versions...

Yes, though it could be difficult. The root of it all is a subtle
difference between the postscript and fontinst font models, namely that PCC
instructions (which, if I remember correctly, correspond to seac operators
in a type 1 font) can access even glyphs that are unencoded (but on the
other hand only glyphs in the StandardEncoding). Fully mimicing that
feature is out of the question. Protecting the \setglyph commands with
\ifareglyphs tests is the sensible thing to do, but even that can be rather
complicated to code (at least w.r.t. reglyphing).

Lars Hellström

More information about the fontinst mailing list