[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug in fontinst?



I've been playing around, trying to create vfs to give the OT1 encoded CM
founts oldstyle digits by default.  Everything works okay, until I look at
the small caps founts and cmr5, all of which are in TEX TEXT WITHOUT
F-LIGATURES encoding.

The problem is that the vfs that are created by lines like:

       \installfont {cmcscod10} {cmcsc10,  cmmi10,dostretch} {OT1cj}
                    {OT1} {cmrod}{m}{sc} {<10><10.95><12><14.4><17.28>
                                                        <20.74><24.88>}

think they've got f ligatures, but since the slot occupied (in TEX TEXT
encoding) by `fl' has an unsexed quote in TEX TEXT WITHOUT F-LIGATURES
encoding (etc), the result doesn't work properly.

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?

As far as I can tell, the \declareencoding command tells fontinst which etx
file to look at when deciding what glyph occupies each slot in a pl file.
Since OT1 encoding *has* f-ligatures, the \declareencoding above seems to
be responsible for the problem.

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).

For example, if I run:

\pltomtx{cmcsc10}{cmcsc10}

I get an mtx file with lines like this:

\setrawglyph{a}{cmcsc10}{10.0pt}{97}{613}{513}{0}{0}

whereas I think it should say things more like this:

\setrawglyph{Asmall}{cmcsc10}{10.0pt}{97}{613}{513}{0}{0}

Any idea what can be done about this?

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.

Any suggestions?

Rowland.