# [Fontinst] letterspacing

Lars Hellström lars.hellstrom at residenset.net
Wed May 25 20:17:11 CEST 2005

At 16.59 +0200 2005-05-25, Philipp Lehman wrote:
>Am Montag, 18. April 2005 14:57 schrieb Lars Hellstr–m:
>
>> Mind you, there could be an error of policy here. letterspacing has
>> always been documented as an _encoding_ variable, which is why it
>> isn't used in the metric files, but that could be the wrong
>> approach. It is certainly a rather metric quantity, and for glyphs
>> like SSspaced it needs to be fixed already at the metric stage.
>> That issue thus needs to be reexamined.
>
>On I related note: I wonder if "SS" and "germandbls" should be
>affected by the "ligaturing" variable. Granted, they are not
>ligatures on the Tex level, but they are usually one glyph in the
>font.

"ligaturing" is mostly a parameter for the encoding variations within OT1
between the various CM fonts, but it exists also in t1.etx to simplify
making fonts with nonstandard sets of ligatures.

>The problem is that, if you uppercase "þ" and it gets resolved to
>"SS", "SS" is treated as a sequence of two independent letters in
>German. When applying letterspacing, it should be spaced out just
>like FF or FFI.

Yes.

I have to confess that there are some fine points in Alan's code,
particularly when letterspacing is involved, that I probably haven't
understood yet. This may well have resulted in rewrites that destroyed some
of them.

>Unless I'm missing something, you have to redefine
>the glyph explicitly right now:
>
>\resetglyph{SS}
>  \glyph{S}{1000}
>  \movert{\int{letterspacing}}
>  \glyph{S}{1000}
>\endsetglyph
>
>Or, with t1c.etx:
>
>\resetglyph{SSspaced}
>  \glyph{S}{1000}
>  \movert{\int{letterspacing}}
>  \glyph{S}{1000}
>\endsetglyph

The tricky issue seems to be that there is both SS (which is never
letterspaced) and SSspaced (which is spaced by capspacing). Although this
is not necessarily the right interpretation, one can read t1.etx as saying
that when letterspacing is applied one should define

\setcommand\uclig#1#2{#1spaced}

which has the effect of selecting IJspaced and SSspaced. Is this
reasonable? I can't say for sure.

>I believe it should be sufficient to set letterspacing=value and
>ligaturing=0.

ligaturing=0 primarily to turn off the lower case ligatures, you mean? Yes,
that is probably a good idea when letterspacing.

Hmmm...  A couple of days ago I changed in the forthcoming release the
defaults for capspacing and smallcapsspacing to be the value of
letterspacing (if that is set, otherwise 0 as now). This means that in
order to have it as you wish one would only have to change the default for
\uclig if ligaturing=0, which does not seem unreasonable.

Whether it all makes sense (or should be replaced by something simpler) is
however also a question that should be asked.

>That's also in-line with monowidth fonts in which SS
>should be two letters wide.
>
>I suppose this applies to IJ/ij as well,

Yes, but whether that is a good thing is harder to say. Alan's comments in
t1.etx say that these should ideally be one character wide in a monowidth
font.

>but I'm not sure about º/‡ and /Ê.

I'm afraid that got badly garbled.

>Certainly not as far as the glyph width in monowidth fonts
>is concerned, but are these ligatures broken up if letterspacing is
>applied? This could get tricky.

Indeed it is! Much of the problem is that it isn't entirely clear how
features were supposed to be used.

Lars Hellström