Behaviour of \latinfamily

Rebecca and Rowland rebecca@astrid.u-net.com
Fri, 29 May 1998 06:13:09 +0100


>Rebecca and Rowland writes:
> > can't make any sense out of fontinst; I think this kind of problem is
> > inevitable when experts who only talk to experts about their subject try to
> > write about it.
>...
> > (In case you're wondering, there is one paragraph on page 396 of the LGC
> > that I found useful.  Nothing else in that book has helped me at all.)
>gee. thanks for the book review. we'll quote in on the back cover if
>the thing gets a second edition.

<chuckle>  Apologies for seeming a bit harsh.  I'm not meaning to be
destructive (no, really - read on), but I think I learnt tact at the Ian
Paisley school of charm.

> > place.  The problem is that it's difficult to get the experts to understand
> > what I need to know; my questions have mostly resulted in answers which
> > appear to be mostly noise to me and seem to miss the point I'm trying to
> > get to.
>i sometimes think we are on different planets. you seem determined to
>document a set of TeX macros which you dont understand....

Correct.  What I'm determined to do is work out how to use fontinst,
because I can think of all sorts of interesting things I'd like to do if
only I could use the blasted software.   Now then, the documentation I've
seen is virtually useless.  The people who *do* understand fontinst seem
unable to document it usefully. I've read the available docs, tried
following the source code, and got nowhere.  So, rather than asking
particular questions on this and that and getting up everyone's nose just
for my own personal benefit, I thought `I know, I'll produce some decent
documentation on how to use fontinst.  That way, I'll only have to ask one
set of questions and with any luck the people I'm asking will be mildly
less irritated'.

The thing is that I'm not particularly interested in the details of the
internals of fontinst (because there's no way I'll be able to get the hang
of the guts in a sensible length of time, nor is there any need for me to
do so): all I want to do to begin with is understand roughly how it works.
Most LaTeX users haven't the faintest idea and stand no chance at all of
working it out: I know, I'm a more-than-averagely-competent LaTeX user and
I'm completely adrift at the moment.

So I have, for example, asked what founts \latinfamily will fake
automatically and I've had no useful information about this.  This baffles
me: it strikes me as a straightforward question that has a very simple
answer: things like `It'll fake an sc fount from a corresponding n fount if
no xxx fount is available'.  I was expecting an answer along those lines,
or at least a pointer to the relevant bit of code with a brief description
of how to get some useful information out of it.

> > slightest understanding of fontinst and I seem to be the only one able to
> > write comprehensible documentation.  The big problem is that I don't
> > understand fontinst at all well.
>these two statements do seem to be at variance...

Not really: `I can write comprehensible documentation' (statement one).  `I
don't understand fontinst at all well' (statement two).  No contradiction
there.  It does indicate that the job of me writing fontinst documentation
will be difficult, but that's not a big problem in itself.  The *really*
big problem is that my original questions seem to have been misinterpreted,
and people have spent a very long time trying to help but somehow missing
the point.  I have gathered lots of obviously useful information which I
don't yet understand properly (all in a set of text files lurking
elsewhere).  With any luck, I'll put together an easy-to-answer and
unambigious simple question at some point in the not-too-distant future
(but not too near 'cos I bet you're fed up to the back teeth with all this).

It's like this: I came into this world knowing nothing more complicated
than nipple=suck.  Everything else has been learnt, and I've learnt rather
a lot.  Learning how to use a bit of software that does a fairly
straightforward job (fontinst) can't be all *that* hard, can it?  I don't
see that intending to document something I begin by knowing very little
about is at all daft: it's what professional technical authors do the whole
time (and it's one of the reasons that technical documentation is bloody
awful these days).

> >  I've not yet seen a copy of `TeX
> > Unbound', so I might change my mind.  I rather doubt it: I've been very
>I got "TeX Unbound" this morning. i have a feeling you are going to hate
>him too - i found "integer expression"....

If `integer expression' is defined and the interpretation of each use of
`integer expression' is explained, there's nothing to worry about.

> > unimpressed with recent books on (La)TeX (The LaTeX Companion and Graphics
> > Companion both strike me as a terrible waste of paper, let alone money).
>you do have the nicest way of asking for help, Rowland. tell me that i
>can't write books for toffee, that 5 years work is a waste of paper,
>and then say "oh by the way can you spend hours and hours helping me
>understand these macros".

No-one's ever offered me a prize for tact or diplomacy.  The thing is that
the LGC would be a very useful book if only a few very minor points were
corrected.  The basic problem is the lack of precise definition.  For
example, on pg 394:

`It [the \latinfamily command] is designed to work with sets of afm files
named according to the Fontname scheme, and is supplied with the foundry
and font family name only.'

Vital missing information: the afm files must be named ending in 8a (*You*
think this is obvious.  It's not; how am I to guess that afm files for
founts on my Mac aren't in Mac encoding?)

`With this information it attempts to execute a[n] \installfont command for
every combination of of weight and series for which it can find an
appropriate afm file;'

Vital missing information: *which* combinations precisely?  It certainly
doesn't look for *all* combinations.  Which founts will it fake?

`Expert sets, if available, can also be used where possible (for small
caps, extra ligatures, etc.) by appending an `x' to the family name; if a
`9' is appended to the name, then a set of fonts using old-style digits is
built'.

Vital missing information: how do you persuade it to *use* small caps
glyphs (etc) from supplied afm files, and which family name are you talking
about?

Now then, the one paragraph that I found useful was this:

`\installfont{ptmr8t}{ptmr8r,latin}{T1}{T1}{ptm}{m}{n}{}

This takes the list of \emph{available} metrics from the
\texttt{ptmr8r.mtx} file, looks at the \texttt{latin.mtx} description of
how to build characters, and creates entries in the output for all
characters listed in the \texttt{t1.etx} encoding file (the encoding name
is given in upper-case, but a filename in lower-case is searched for).  The
same font is used for all sizes.'

What would be even more useful would be to point out that \installfont
creates a file ptmr8t.vpl and an entry in the fd file for ptm/m/n that
points to this fount.  But I could work that out myself.

If you could provide information this detailed in the rest of the early
descriptions of how fontinst works, then the rest of the chapter might make
some sense to me.  As it is, it doesn't.  That's why I called it useless:
it's *meant* to be a guide on how to use fontinst, but unless you're able
to understand fontinst without the book, you can't use the book.  I was
attempting to provide an *objective* view, not just mindless whinging.  I
think it'd be great if you could improve the fontinst section so it was
useful, and I'd be able to say in comp.text.tex `Buy the LGC 'cos it's
completely brilliant if you want to use fontinst.'  As it is, it provides
less useful information for those who are not of the cognoscenti than AJ's
original freely-available documentation, which does rather imply that
buying it if you want to use fontinst is a little silly.

The thing about the questions I asked originally is that I *thought* they
could be answered very easily with very little effort.  I had no intention
of asking anyone for significant effort, because I've got a pretty good
idea that *if* I can get X, Y, and Z straight, then everything else will
fall into place pretty quick.  I'm pretty sure that I'm just missing a
handful of bits of information that are so obvious to `the experts' that
you don't even know they exist.  With that, I can do the rest myself with
intelligent experiments.  At the moment, I don't have the foundation
information to allow me to make intelligent experiments.

>do buy Hoenig, anyway. it may help. yes, it'll cost you money. thats
>life.

It'll cost me 50p to begin with; the cost of an inter-library loan.  If it
*is* very useful, I might buy a copy (I finally bought my own copy of The
TeXbook a while back).  Spending 30-odd on the off chance it'll help isn't
my idea of sanity; if I did that every time something like this came up,
I'd have even less living space in the house than I have at the moment and
I'd be living on a diet of lentils.  I like books, you see, and I've got
lots.  I'm particularly intrigued at the horrible drop in the quality of
all technical documentation that's happened over the last 20-odd years.
I've got technical manuals from as far back as 1950 and perhaps older (do
you know when the `Chronicle' wireless annual 13th edition was published?
It seems to be 1930-something).  There seemed to be a peak in quality
somewhere between 1960 and 1980 (I've got a 1967 Tektronix 'scope manual
that's nothing short of a work of art), and it's been downhill rapidly
since then: I've got 1978 and 1988 HP calculator manuals.  The former are
*excellent*, and provide more information that the 1988 version in half the
space (yes, I have a 1967 Tektronix 'scope, and a 1978 and 1988 HP
calculator).  So don't think I'm being particularly harsh when I whinge
about the LGC: I'm *much* more rabid at other times.  The LGC has a
sensible structure, good layout, and so on.  It's even got *most* of the
information you need in the fontinst section.  Unfortunately, the missing
information is the foundation information you need to make sense out of the
rest of it, which is why I call it `useless'.  If you do a 2nd edition, you
could turn it into an *excellent* book by adding this foundation
information.

I can't help feeling that there's something badly amiss somewhere.  What is it?

Rowland.