# Re: Behaviour of \latinfamily

• To: rebecca@astrid.u-net.com
• Subject: Re: Behaviour of \latinfamily
• From: Sebastian Rahtz <s.rahtz@elsevier.co.uk>
• Date: Thu, 28 May 1998 09:31:26 +0100
• Cc: fontinst@cogs.susx.ac.uk
• References: <l03130302b190604cd64b@[194.119.133.41]> <l03130305b18ff73776d2@[194.119.133.37]> <199805260956.LAA18591@attila.uni-duesseldorf.de> <2054-Tue26May1998140230+0100-s.rahtz@elsevier.co.uk> <l03130301b191fda5938e@[194.119.133.49]>

```Rebecca and Rowland writes:
> >   \if_file_exists{
> >      \font_family\font_weight\raw_shape
> >         \raw_variant\raw_encoding\font_width.mtx
> >   }\then
> >     \immediate\write16{INFO>~found~\font_family\font_weight
> >           \raw_shape\raw_variant\raw_encoding\font_width.mtx}
> >      \latin_encodings
> >   \fi
>
> Right - I see.  No wonder I couldn't work it out on my own.  The only
> useful information I can get out of that is that a file ending with .mtx is
> being checked for existance.
and then \latin_encodings is executed

> The job is *possible*, but very, very, very, very difficult for me.  On the
> other hand, some people can do this sort of thing with several orders of
> magnitude less effort than me.  Better than that, some people have already
> done this and *know* how fontinst works.  Unfortunately, none of them seem
no, i don't think they have. i, for one, just skim the TeX code when i
want to understand something, but i have never set down and attempted
to put the logic down on paper. it took me several minutes to render
the code into the slightly more readable form i emailed the other day,
but it was just sugar

> I appreciate this.  I've compared your translation (which I've had to
> translate myself using a bit of paper to understand it) with the original
> source code and I can see no way of deriving one from the other.  Maybe it
it was just search and replace editing, more or less!

> *is* possible, but God knows how.  There's so many unknown variables
> involved that it's just noise to me.  (For example: what is \font_family,
oh come, use common sense. what do you *think* the variable
\font_family is????????? who cares where its set, thats irrelevant to
understanding this macro.
> NEED TO KNOW:
>
> 1)
> What form the int exprs can take, and what they mean exactly (AJ's fontinst
um, an integer is a whole number, isnt it? is it any more complicated
than that?

> Can you say \frompl{xxx} (needs xxx.pl)?  (not mentioned in any
yes, sure.

> The \fake_shape_ definition mentions ligfull installation (if possible) and
> expert encoding amongst other things.  How do these relate to your
> explanation above, and what does a ligfull installation *mean*?
ligfull installation means that the ligature information in the AFM
file is copied to the output metric

> >\latinfamily calls\latin_weights which executes \latin_widths which
> >executes \latin_shapes which executes \latin_encodings
>
> Yes, but what does that mean?  You've told me the order of execution but I
> don't know what any of those macros do, nor do I know anything about how
> they are called.  You see what I mean about the explanations being noise?
no, i dont see. i dont know how to say it any clearer!
>
> \latinfamily calls\xyykjshj which executes \lweoijns which
> executes \kajhfgkjn which executes \awndgzjn?
fine. whats the problem? then i just have to see what \lweoijns does.

> It did last time I used it; I've been wondering how to get it to write
> *useful* 8r fd files rather than have to make them by hand.  The version
Ulrik pointed out a bug in my stuff which had bad effects....