On 9 May 2005, at 8:28 PM, Achim Blumensath wrote:

> The only problem I see with this approach is how to select the
> appropriate substitutions if the requested shape is not available.
> Say,
> the user specifies {it,sc,osf} but the font only provides
> {it,u&lc,osf}
> and {n,sc,osf}. Which of them should be taken?

For such a system, I assume you'd have something like an
\addfontshape command, since you don't want to specify all previous
font shapes when supplying a new one (in the same way as \bfseries is
applied without having to say \sffamily -- this is the whole point of
orthogonal axes).

[I guess it would have to be clever enough to realise that a
definition like {u&lc,sc} doesn't make sense and decompose it to {sc}
(with a warning).]

So, the current shape is {n,u&lc,osf}. You want to get to
{it,sc,osf}. I assume here that the \addfontshape{it,sc} command is
actually a shorthand for \addfontshape{it}\addfontshape{sc} and you'd
     \addfontshape{it} -> {it,u&lc,osf}, then
     \addfontshape{sc} -> {it,u&lc,osf} + warning

If the arguments to \addfontshape command were reversed, you'd get
the {n,sc,osf} + warning instead.

How does this sound?