ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <j.hagen@xs4all.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>,
	Rik Kabel <ConTeXt@rik.users.panix.com>
Subject: Re: Disappearing font feature
Date: Sun, 22 Dec 2019 12:08:09 +0100	[thread overview]
Message-ID: <ffe90932-50aa-e735-060b-bcf197124579@xs4all.nl> (raw)
In-Reply-To: <45f57d1c-868a-e36a-ba24-c033b6b54eb5@rik.users.panix.com>

On 12/22/2019 5:36 AM, Rik Kabel wrote:
> 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.
i donloaded the fonts from

https://github.com/indestructible-type/Jost/tree/master/Finished/otf

and this shows what you run into:

\definefont [JHair]  [jost-100-hairline*default]
\definefont [JHairI] [jost-100-hairlineitalic*default]

\definefontfeature[ss01][ss01=yes]

\startbuffer[ss01]
     \hbox\bgroup
         \char   97\relax
         \char  224\relax
         \char  225\relax
         \char  226\relax
         \char  227\relax
         \char  228\relax
         \char  229\relax
         \char  257\relax
         \char  259\relax
         \char  261\relax
         \char 1072\relax
     \egroup
\stopbuffer

\starttext
     \startlines
         {\type{default } \JHair             \getbuffer[ss01]}
         {\type{enabled } \JHair \addff{ss01}\getbuffer[ss01]}
         {\type{disabled} \JHair \subff{ss01}\getbuffer[ss01]}
         {\type{default } \JHairI            \getbuffer[ss01]}
         {\type{enabled } \JHairI\addff{ss01}\getbuffer[ss01]}
         {\type{disabled} \JHairI\subff{ss01}\getbuffer[ss01]}
     \stoplines
\stoptext

btw, this happens often, like with oldstyle, the wished default is the 
hard coded default so one has to enable/disable

now, what you miss is that you define a font without applying any 
features ...

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

  reply	other threads:[~2019-12-22 11:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-22  4:36 Rik Kabel
2019-12-22 11:08 ` Hans Hagen [this message]
2019-12-22 12:15   ` Floris van Manen
2019-12-22 16:27   ` Rik Kabel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ffe90932-50aa-e735-060b-bcf197124579@xs4all.nl \
    --to=j.hagen@xs4all.nl \
    --cc=ConTeXt@rik.users.panix.com \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).