[Fontinst] \resetslot in multislot.sty would be nice to have working

Reuben Thomas rrt at sc3d.org
Sat Aug 3 22:02:22 CEST 2013


multislot.sty says (at least in the version currently on CTAN, marked
"Second version":

% This is of course a BUG, and there doesn't seem to be any way
% around it, short of adding another pass of reading ETX files. Doing
% so would probably not be worth the effort, since the usefulness of
% a \resetslot command is not clear; unlike \resetglyph, it cannot be
% used to amend an existing \set..., but only to override it.

I beg to differ: I'm trying to write customized versions of t1.etx,
updating a now-lost package of Ulrik Vieth's in which he simply supplied
patched versions of that file. That has all the usual maintenance problems
described in newlatin.mtx [sic]. Currently, the best I can do is something
like:

\inputetx{t1}
\nextslot{n}
\setslot{whatever}...\endsetslot

which lets me add to slots (at least, despite warnings that a slot is
multiply-defined, that seems to be the effect it has, which is exactly what
I want), but since there's no way to remove the kerns and ligatures of an
existing slot (since the buggy \resetslot doesn't do that), there's no way
properly to override a slot; with multislot.sty I can do:

\input multislot.sty

\nextslot{n}
\setslot{whatever}...\endsetslot

\inputetx{t1}

but then I can't add to a slot.

I can see two solutions:

1. Make \resetslot work properly, then a slot can be overridden with
multislot.sty.

2. Allow multislot.sty to take the last definition, not the first. Then I
could do:

\inputetx{t1}

% Add to a slot
\nextslot{n}
\setslot{whatever}...\endsetslot

\input multislot.sty
\multislottakelast % Take last definition of a slot, not first

% Override a slot
\nextslot{n}
\setslot{whatever}...\endsetslot

I'd argue that it's also more logical this way around, because that's how
"overriding" normally works: you load the original version, then you
override it. With multislot.sty as it stands, you have to put overrides
first, and both overriding and adding to slots is impossible (unless I've
missed something).

At present I can see only two rather unsatisfactory options:

1. Ship diffs to t1.etx and have my build process produce patched versions.

2. Ship a modified multislot.sty which implements \multislottakelast

If there's a workaround I haven't thought of, I'd love to hear it.

-- 
http://rrt.sc3d.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tug.org/pipermail/fontinst/attachments/20130803/d620d57c/attachment.html>


More information about the fontinst mailing list