[NTG-context] Odd Font Behavior in startstop Group
Wolfgang Schuster
wolfgang.schuster.lists at gmail.com
Sun Feb 6 11:20:21 CET 2022
Michael Urban via ntg-context schrieb am 05.02.2022 um 20:28:
> I am experiencing an odd behavior switching text styles in a defined startstop group ("blockquote"). I get different behavior depending on whether the switchtobodyfont in the startstop definition includes the dummy {\it } and {\bf } text. If they are not there, the italic and boldface switches in the second blockquote revert to the gyreschola body font of the main text; but this only happens if there is an earlier blockquote with no style changes. This is with:
>
> [...]
>
> Do I need a newer version of ConTeXt, or am I doing something wrong?
> Fonts in ConTeXt are always perilous, alas. For me, anyway.
>
>
> \definefallbackfamily[story][serif][notoserif][range={greekandcoptic,greekextended},force=yes]
> \definefontfamily[story][serif][TeX Gyre Schola]
The following two font settings are wrong, you're passing the name of a
typescript for the third argument while \definefontfamily expects the
family name of a font.
Even though the usage of the command is wrong you didn't notice it
because as a fallback \definefontfamily uses the Latin Modern version of
the requested style when no font was found.
> \definefontfamily[story][sans][modern]
> \definefontfamily[story][mono][modern]
The correct settings for both settings are
\definefontfamily [story] [sans] [Latin Modern Sans]
\definefontfamily [story] [mono] [Latin Modern Mono] [features=none]
with the "features=none" for the mono font to ensure no ligatures are
formed.
An alternative for \definefontfamily is to use \definetypeface and
choose a predefined typescript for the Latin Modern family. You can
either use
\definetypeface [story] [ss] [sans] [modern] [default]
\definetypeface [story] [ss] [mono] [modern] [default]
which uses the 10pt optical size even for smaller and bigger sizes or
you enable optical sizes with the following typescript
\definetypeface [story] [ss] [sans] [modern-designsize] [default]
\definetypeface [story] [ss] [mono] [modern-designsize] [default]
> \definefontfamily[story][mm][TeX Gyre Pagella Math]
I recommend to load the math font with the provided typescript because
they ensure existing patches (e.g. spacing corrections) for the selected
font are applied.
\definetypeface [story] [mm] [math] [pagella] [default]
> \setupbodyfont[story,11pt]
>
> \definestartstop[blockquote]
> [
> before={ \blank \startnarrower \setupwhitespace[2pt] \setupindenting[none]
> \switchtobodyfont[termes]{\it }{\bf }% This is so weird. Put a comment marker after [termes] for a different result
> },
> after={ \stopnarrower \blank \indenting[next]},
> ]%
ConTeXt already provides a blockquote-environment which can be
configured to have the same style as your custom environment.
\startsetups [blockquote:style]
\switchtobodyfont[termes]
\setupwhitespace[2pt]
\stopsetups
\setupdelimitedtext
[blockquote]
[spacebefore=big,
style=\directsetup{blockquote:style},
indenting=none,
indentnext=yes]
Wolfgang
More information about the ntg-context
mailing list