[Fontinst] Vector file for small caps in 8x fonts

Walter Schmidt Walter Schmidt" <latex@arcor.de
Mon, 16 Dec 2002 16:41:32 +0100 (MEZ)


On Mon, 16 Dec 2002 11:29:10 +0100, Hilmar Schlegel wrote:

> [re t1c.etx]
> 
>>   \ifisint{capspacing}\then
>>      \setint{letterspacing}{\int{capspacing}}
>>   \fi
>
>Some people are used to rather wide spaced small caps fonts - just due
>to the purpose to use small caps not necessarily in running text. If a
>faked small caps font is made this would be usually too tight and to
>cure this one applies spacing. To get this right for faked ligatures
>(FFL) this mechanism of "spacing inside" was introduced...
>
>Correct me if I'm wrong ;-)

I feel free to do so.  As far as I understand, the feature serves 
for a different purpose:

When making a VF with *faked smallcaps*, a bit of letterspacing 
must always be added.  Otherwise, the faked smallcaps will be
really tooooo tight.   For instance:

  \installfont{xxxrc8t}{xxxr8r,latin}{t1c}...

Here latin.mtx issues the commands:

\ifisint{monowidth}\then
   \setint{capspacing}{0}
   \setint{smallcapsextraspace}
      {\div{\scale{\width{x}}{\sub{1000}{\int{smallcapsscale}}}}{2}}
\else
   \setint{capspacing}{50}
   \setint{smallcapsextraspace}{0}
\fi

t1c.etx will then see non-zero capspacing and use the value
for letterspacing.  (With monowidth fonts, however, the
additional spacing is added to every single glyph, using
non-zero smallcapsextraspace, which is evaluated within the
\cscglyph command.  In this case capspacing and letterspacing
are zero.)

In contrast, when making a * true smallcaps font* with expert
characters, using latinsc.mtx rather than latin.mtx, capspacing 
remains undefined so that no letterspacing is applied.  The 
smallcaps will just exhibit the spacing which was intended by 
the font designer:

  \installfont{xxxrc8t}{xxxr8r,xxxr8x,latinsc}{t1c}...

It's complicated, but it makes perfectly sense, IMO.


* Ligatures * in smallcaps fonts are a different story:
When typesetting with aditional letterspacing, for instance
using the soul.sty package, the ligatures cannot honor the 
exact amount of letterspacing, which is applied externally.  
Thus, smallcaps fonts should not include any ligatures, IMO.  
Well, the .etx files in the fontinst distrib don't take care 
of this, but I can easily kill the ligatures by using my own
etx or mtx files.  That's what I'm usually doing, and I like 
the result.  YMMV.


Greetings
Walter