List,
I have a strange case of a font feature disappearing when many fonts are used.
In creating a sampler for the Jost* font (free at https://indestructibletype.com/Jost.html) and using its feature ss01 to get single-storey lower-case a, the font reverts to the default two-storey a when many weights are shown. When I create the fonts with \definefontfamily, the upright weights are fine and the italic weights revert. When I create the fonts with \definefont, the reverse is the case.
Below is the demonstration for the \definefont variation and a snip of the failing result.
\definebodyfontenvironment[13pt] [interlinespace=15pt] \setuplayout [backspace=0pt, topspace=30pt, width=middle, height=middle, location=middle, header=0pt, footer=0pt] \setuppagenumbering [location=] \definefontfeature [default] [default] [ss01=yes] \definefont [JHair] [jost-100-hairline] \definefont [JThin] [jost-200-thin] \definefont [JLigh] [jost-300-light] \definefont [JBook] [jost-400-book] \definefont [JMedi] [jost-500-medium] \definefont [JSemi] [jost-600-semi] \definefont [JBold] [jost-700-bold] \definefont [JHeav] [jost-800-heavy] \definefont [JBlac] [jost-900-black] \definefont [JHairI][jost-100-hairlineitalic] \definefont [JThinI][jost-200-thinitalic] \definefont [JLighI][jost-300-lightitalic] \definefont [JBookI][jost-400-bookitalic] \definefont [JMediI][jost-500-mediumitalic] \definefont [JSemiI][jost-600-semiitalic] \definefont [JBoldI][jost-700-bolditalic] \definefont [JHeavI][jost-800-heavyitalic] \definefont [JBlacI][jost-900-blackitalic] \startbuffer [Sampler] A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z à ë í ô ç 1 2 3 4 5 6 7 8 9 0 ` \texttilde\ - = ! @ \# \$ \letterpercent\ ^ \& * ( ) _ + [ ] \textbackslash\ ; ' , . / \{ \} \| : " < > ? \fontname\font \blank [line] \stopbuffer \setupalign [middle] \starttext \obeylines \JHair \getbuffer[Sampler] \JThin \getbuffer[Sampler] \JLigh \getbuffer[Sampler] \JBook \getbuffer[Sampler] \JMedi \getbuffer[Sampler] \JSemi \getbuffer[Sampler] \JBold \getbuffer[Sampler] \JHeav \getbuffer[Sampler] \JBlac \getbuffer[Sampler] \page \JHairI \getbuffer[Sampler] \JThinI \getbuffer[Sampler] \JLighI \getbuffer[Sampler] \JBookI \getbuffer[Sampler] \JMediI \getbuffer[Sampler] \JSemiI \getbuffer[Sampler] \JBoldI \getbuffer[Sampler] \JHeavI \getbuffer[Sampler] \JBlacI \getbuffer[Sampler] \stoptext
Below is the demonstration for the \definefontfamily variation and a snip of the expected result, although the italics fail.
\definebodyfontenvironment[13pt] [interlinespace=15pt] \setuplayout [backspace=0pt, topspace=15pt, width=middle, height=middle, location=middle, header=0pt, footer=0pt] \setuppagenumbering [location=] \definefontfeature [default] [default] [ss01=yes] \definefontfamily [up-one] [sansserif] [Jost] [tf={style:hairline,features}, bf={style:thin,features}, bi={style:light,features}, it={style:book,features}] \definefontfamily [up-two] [sansserif] [Jost] [tf={style:medium,features}, bf={style:semi,features}, bi={style:bold,features}, it={style:heavy,features}] \definefontfamily [up-three] [sansserif] [Jost] [tf={style:black,features}, bf={style:black,features}, bi={style:black,features}, it={style:black,features}] \definefontfamily [it-one] [sansserif] [Jost] [tf={style:hairlineitalic,features}, bf={style:thinitalic,features}, bi={style:lightitalic,features}, it={style:bookitalic,features}] \definefontfamily [it-two] [sansserif] [Jost] [tf={style:mediumitalic,features}, bf={style:semiitalic,features}, bi={style:bolditalic,features}, it={style:heavyitalic,features}] \definefontfamily [it-three] [sansserif] [Jost] [tf={style:blackitalic,features}, bf={style:blackitalic,features}, bi={style:blackitalic,features}, it={style:blackitalic,features}] \startbuffer [Sampler] A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z à ë í ô ç 1 2 3 4 5 6 7 8 9 0 ` \texttilde\ - = ! @ \# \$ \letterpercent\ ^ \& * ( ) _ + [ ] \textbackslash\ ; ' , . / \{ \} \| : " < > ? \fontname\font \blank [line] \stopbuffer \setupalign [middle] \setupbodyfont [up-one,13pt] \starttext \obeylines \ss\tf\getbuffer [Sampler] \ss\bf\getbuffer [Sampler] \ss\bi\getbuffer [Sampler] \ss\it\getbuffer [Sampler] \switchtobodyfont [up-two] \ss\tf\getbuffer [Sampler] \ss\bf\getbuffer [Sampler] \ss\bi\getbuffer [Sampler] \ss\it\getbuffer [Sampler] \switchtobodyfont [up-three] \ss\tf\getbuffer [Sampler] \page \switchtobodyfont [it-one] \ss\tf\getbuffer [Sampler] \ss\bf\getbuffer [Sampler] \ss\bi\getbuffer [Sampler] \switchtobodyfont [it-two] \ss\tf\getbuffer [Sampler] \ss\bf\getbuffer [Sampler] \ss\bi\getbuffer [Sampler] \ss\it\getbuffer [Sampler] \switchtobodyfont [it-three] \ss\tf\getbuffer [Sampler] \stoptext
Assistance or explanation is welcome. This is just for a sampler
-- the font with just three weights when used in a real project is
fine. I do not know if the problem is with the font or with
ConTeXt or with my expectations.
--
Rik