[Fontinst] Lehman's nfssext.sty file

Philipp Lehman lehman at gmx.net
Fri Mar 25 14:03:51 CET 2005


Am Donnerstag, 24. März 2005 18:41 schrieb Juan M Alberdi:

> I've been installing FF Scala Sans1 and chosen the name 0sasj for
> the oldstyle figures family. I don't know programming TeX but it
> seems that the nfssext.sty file ignores family names longer than 4
> letters. Is that true?

Right, it assumes a 3-letter base name plus one letter indicating 
special features such as hanging figures. If you want to use longer 
names, you'll have to modify \exfs at get@base accordingly; i.e., 
replace:

\def\exfs at get@base#1#2#3#4\@nil{#1#2#3}

by something like:

\def\exfs at get@base#1{\expandafter\exfs at get@base at i #1\@nil}
\def\exfs at get@base at i#1#2#3{%
  \ifx\@nil#3%
    \expandafter\@firstoftwo
  \else
    \expandafter\@secondoftwo
  \fi
  {#1}{\exfs at get@base at i{#1#2}#3}}

However, this implies that the last letter of the font family name 
will always be treated as an indicator of special features, even if 
there aren't any. That is, you can use family names such as "fooj" 
and "foox", but you can't use "foo" any more! You'll have to add some 
kind of (dummy) indentifier even for the most basic family (and also 
add that to \lnstyle). Suppose you choose "n" (that is, the most 
basic family will be labeled "foon" instead of "foo), then modify 
\lnstyle as follows:

\DeclareRobustCommand{\lnstyle}{%
  \not at math@alphabet\lnstyle\relax
  \exfs at try@family[\expandafter\exfs at get@base\f at family\@nil n]% <- "n"
                  {\expandafter\exfs at get@base\f at family\@nil x}}

-- 
Philipp Lehman <lehman at gmx.net>



More information about the fontinst mailing list