Fontinst modifications
Lars Hellström
Lars.Hellstrom@math.umu.se
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
interested.
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
fontinst.
That, however, is my opinion. I want to see what you think.
Hoping for replies,
Lars Hellström.