Curiously, the "letterspace" key adds the specified percentage value
of an em to \fontdimen2 *only once* (which in turn affects \fontdimen3
and \fontdimen4). This seems wrong (an oversight, perhaps?). The
amount added to \fontdimen2 ought to be *double* the specified
percentage value of an em, right?
\font\0="TeX Gyre Termes" at 10pt
\font\1="TeX Gyre Termes:letterspace=10" at 10pt
\def\lsdiff#1{\setbox0\hbox{\0#1}\setbox2\hbox{\1#1}%
\immediate\write-1{\the\dimexpr\wd2-\wd0}\hbox{\unhbox0\unhbox2}}
\XeTeXinterwordspaceshaping=0
\lsdiff{TAV}
\XeTeXinterwordspaceshaping=1
\lsdiff{TAV}
\XeTeXinterwordspaceshaping=2
\lsdiff{TAV}
\XeTeXinterwordspaceshaping=0
\lsdiff{H H}
\XeTeXinterwordspaceshaping=1
\lsdiff{H H}
\XeTeXinterwordspaceshaping=2
\lsdiff{H H}
\bye
leaves
2.0pt
2.0pt
2.0pt
1.0pt
2.0pt
2.0pt
in the log.
Is it a bug or a feature? Or is it too late to change?
Regards,
Rex