Fontinst modifications

Lars Hellström
Tue, 2 Jun 1998 19:50:37 +0200 (MET DST)

This post is intended to start some kind of discussion. The suggested topic
of this is whether is should be considered OK to modify fontinst--that is,
not modifying the actual file fontinst.sty but creating additional .sty
files which redefine some of the macros defined in fontinst.sty? Should
fontinst be written so that it simplifies such modifications?

The thing is, during the year and a half in which I have had fontinst, I
have created quite a few such .sty files, and I am considering uploading
them to CTAN, but I would feel better about it if I knew that such
modifications could be considered legitimate. Furthermore, I've got plans
to write more of these and it would be nice to know if anyone could be

The modifications I have written are mainly implementations of some new
.mtx-level commands which I found need of, but some are useful at a higher
level than that. These modifications, and their respective purposes, are,
in no particular order:

reglyph.sty          Defines an alternative to \afmtomtx which can change
                     the names of the glyphs. This is useful, since some
                     AFM files for caps and small caps fonts call the
                     glyph "Asmall" simply "a". There are some other
                     features too, such as ignoring AFM commands that
                     refer to "unwanted" glyphs. It can be used through the
                     \transformfont interface.

mtxpackages.sty      Implements a "load if not loaded before" mechanism
                     for .mtx files. I have used it to split up the very
                     large latin.mtx file into several small, where I only
                     load those I need for a particular shape (not faking
                     small caps glyphs when I only want to make the
                     roman shape anyway) _without_ defining the commands
                     used in several parts more than once.

rekern.sty           Extends the \set, \reset, \unset style of fontinst to
                     kerns. A kern that has been set kan be changed with the
                     command \resetkern. Kerns can be unset with \unsetkern.

multislot.sty        Extends the \set, \reset, \unset style of fontinst to
                     slots. If there are several \setslot for a
                     particular slot, only the first will be used. This
                     affects both the glyph to slot assignment itself and
                     the slot commands. Thus the ligatures for a slot can
                     be changed by putting a new \setslot earlier in the
                     .etx file (or in a calling .etx file), the later
                     \setslot will simply be ignored.

The first two of these simply define new macros without changing the old,
but the last two rely on modifying some of fontinst's macros (in particular
macros that are involwed in generating VPL files). Of course, this makes
them sensible to changes in fontinst itself (rekern works with v1.504, but
not with v1.335, for example). Personally, I would like to see some hooks
that modifications could use, especially in the VPL-generating part of

That, however, is my opinion. I want to see what you think.

Hoping for replies,
Lars Hellström.