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
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________