Bug in fontinst?
Alan Jeffrey
ajeffrey@cs.depaul.edu
Mon, 28 Sep 1998 14:48:21 -0500
Rebecca and Rowland wrote:
> Now then... fontinst.sty says this:
>
> \declareencoding{TEX~TEXT~WITHOUT~F-LIGATURES}{OT1}
>
> which is clearly wrong. The problem is that there doesn't appear to be a
> suitable .etx file supplied with fontinst for this encoding; nor does there
> appear to be a fontname code for this encoding. Any suggestions?
OK, this is clearly wrong. I guess the fix is to come up with a new
encoding name (eg OT1n) and then add a line
\declareencoding{TEX~TEXT~WITHOUT~F~LIGATURES}{OT1n}.
But this doesn't solve the problem, since as you observed:
> Another problem is that, even if an appropriate etx file were written, it
> would still produce an incorrect .mtx file, because cmcsc10 is a small caps
> fount (cmr5 also uses TEX TEXT WITHOUT F-LIGATURES encoding).
Not much I can do here, since there's a culture clash about what
constitutes an encoding here. Knuth's idea is that a small cap A is
logically the same as a letter `a', so the encoding of cmr5 and cmcsc10
is the same. Adobe's idea is that a small cap A is optically not the
same as a letter `a'. And fontinst is stuck in the middle.
Knuth's fonts don't contain enough info for fontinst to be able to work
out whether the font is a small caps font or not. This is a tricky one
to fix, since the problem is in the conversion phase .pl -> .mtx, and
the .mtx file is cached, so you can't rely on it being generated when
you read in cmr5.pl. The nearest fix would be to create a file
hacksc.mtx
\declareencoding{TEX TEXT WITHOUT F LIGATURES}{OT1c}
then use it when reading in cmcsc10, eg:
\installfont ... {hacksc,cmcsc10,otherstuff} ...
but this won't work if cmcsc10.mtx has already been generated.
> I had a look at ot1c.etx to see if that could be any help; it says that:
>
> % This is used exclusively to install faked small-caps fonts;
> % real small caps fonts are installed using the default T1.etx.
>
> Since this is wrong - you can't install an OT1 encoded real small caps
> fount using T1.etx - I'm at a bit of a loss.
This comment just means `nobody should be using OT1 these days, it's
just legacy software'.
As you may note, I dind't put a huge amount of effort into the OT1
support, since there's just too many ideosyncracies about OT1 (eg the
encoding changing under your feet!) I just use T1 these days... Not
that that's much use...
Alan.