Help please: How to get lining numerals into my small capsfont.

Lars Hellström Lars.Hellstrom@math.umu.se
Mon, 31 May 1999 13:37:25 -0400


Alan Vlach wrote:
[Stuff from previous mails snipped.]
>As far as I can tell, none of the characters have a ``faulty name
>assigned'' (whatever that means).  The characters are correctly called
>`zero', `one', `two', ....  Fontinst is pulling the (correctly named)
>numerals from the Sc+OsF font when I want it to pull the numerals from
>the normal font.  I don't understand what you mean by ``renaming the
>characters''.

What Hilmar refers to is that the digits in the Sc+OsF font is not really
zero, one, etc., but the oldstyle digits zerooldstyle, oneoldstyle, etc.;
the latter names is the ones used for them when they appear in Expert
fonts. Fontinst uses the names, and not the slots, to identify glyphs.

[Similar snip]
>I would dearly love to understand the fontinst basics.  Where is the
>book that explains the basics?  The fontinst documentation assumes that
>the reader _already_ understands what the commands mean (``glyphon'' and

glyphon.mtx is not a command, but a file, as is everything in the first
three arguments of \installfont.

>so forth) and provides precious few examples to illustrate what the
>commands actually do.  I need lots of carefully explained examples,
>along the lines of ``A Gentle Introduction to TeX''.

Alan Hoenig's "TeX Unbound" might be what you are looking for, it contains
several chapters on fontinst and provides detailed examples. "The LaTeX
Graphics Companion" also contains quite a lot of related material, in my
memory doesn't fail me.

>For example, what command (or series of commands) would I employ to tell
>fontinst:  ``Take character in slot x of font A and put it in slot y of
>font B.''  Nothing in the documentation explains clearly enough how to
>do this.

It's rather split up, but it mainly works as follows: Sometime TeX will
execute the fontinst command

  \installfont{B}{...,A,...}{C} <five more arguments>

In many cases, this will be done by the \latinfamily command, but the case
you have problem with is not currently covered by \latinfamily, so you will
have to use \installfont. IMHO, starting at the \installfont level gives
you a much better understanding of what fontinst actually does.

Supposing that your font A is given as an AFM file, \installfont will first
automatically generate a file A.mtx from the file A.afm. The purpose of
this is to get the information in a form that TeX can read more easily. The
file A.mtx will in your case contain a command

  \setrawglyph{xglyph}{A}{...}{x}<four more arguments>

Next \installfont will \input A.mtx, and then the above \setrawglyph will
tell fontinst that the glyph named xglyph can be found in slot x of font A.
Finally, you will need a file C.etx which contains the commands

  \nextslot{y}
  \setslot{xglyph}
     <possible ligature commands for this slot>
  \endsetslot

After \installfont has inputed all the files in its second argument (which
are metric files), it will go on to the encoding file C.etx, which will
define the encoding to use in the font B.vpl that will now be generated.

I hope that clarifies the situation.

Lars Hellström