[NTG-context] copyfont and font features

Ulrike Fischer news3 at nililand.de
Thu Nov 17 11:02:26 CET 2016

Am Thu, 17 Nov 2016 09:46:26 +0100 schrieb Hans Hagen:

> On 11/16/2016 6:17 PM, Ulrike Fischer wrote:
>> This comes from a tex.sx question
>> https://tex.stackexchange.com/questions/338942/cancellation-of-color-fontspec-font-settings-while-defining-microtype-context/
>> The primitive \copyfont looses with open type fonts all font
>> features:
>> \starttext
>> \font\testa={Arial:mode=node;script=latn;language=DFLT;+tlig;+smcp;}
>> {\testa abc -- }  normal
>> \copyfont\testb\testa
>> {\testb abc -- } normal
>> \stoptext
>> As one can see \testb has neither ligatures nor it is in small caps.
>> Is this a bug or to be expected?
> It's to be expected as \copyfont makes a copy at the tfm level. One can 
> just use
> \let\testb\testa
> instead. 

Simply using \let doesn't work when you want locally a different
expansion behaviour:

   ! error:  (font expansion): font has been expanded with different
stretch limit. 

(with pdflatex + lualatex), that's imho the reason why microtype
copies the fonts. 

> It makes no sense to have a replacement (at least I can't think of a 
> case that can't be handled already). Just define the font again.

The question is if microtype can easily retrieve the current font
features and if it will slow down the code much if it has to
redefine fonts again and again. 

Ulrike Fischer 

More information about the ntg-context mailing list