Rik Kabel via ntg-context schrieb am 27.09.2021 um 00:20:
On 9/26/2021 16:29, Wolfgang Schuster via ntg-context wrote:
Rik Kabel via ntg-context schrieb am 26.09.2021 um 22:13:
Hello list mavens,
What are the circumstances under which style=italicface should be
used instead of style=italic. I note a difference when I define
highlighting. I expected to see no difference in the line before and
line after the hairline the example below, but see that italicface
adapts to nesting, while italic does not:
Are there other places where this makes a difference?
\setupbodyfontenvironment
[default]
[em=italicface] %same with italic for this example
\definehighlight
[emIt]
[style=italic]
\definehighlight
[emIf]
[style=italicface]
\definehighlight
[emEm]
[style=\em]
\starttext
{\em abc {\em def} ghi}: \type{\em}
\emph{abc {\emph def} ghi}: \type{\emph}
\emEm{abc {\emEm def} ghi}: \type{\emEm \definehighlight[style=\em]}
\emIf{abc {\emIf def} ghi}: \type{\emIf
\definehighlight[style=italicface]}
\hairline
\emIt{abc {\emIt def} ghi}: \type{\emIt
\definehighlight[style=italic]}
\stoptext
The \em command has two special values which are allowed when you
change the style with
\setupbodyfontenvironment[default][em=...]
with the value "slanted" and "italic". When you choose one of them
the result depends on the current weight (\tf or \bf) but with every
other value you're just using whatever the style command/name provides.
When you pass "italicface" you're using a style which uses either \it
or \bi dependant on the current weight. The result from the "italic"
value doesn't depend on the behavior or the normal italic style (\it)
which is the reason why you get different result when you use \em
compared with \it.
Example:
\starttext
\tex{it}: normal {\it italic} {\bf bold {\it italic}}
\tex{italicface}: normal {\italicface italic} {\bf bold {\italicface
italic}}
\tex{em}: normal {\em italic} {\bf bold {\em italic}}
\stoptext
Wolfgang
Wolfgang,
I understand that mechanism, but I am asking a different question, I
think.
When we specify style=\em or style=italic (and most examples I see use
the later) in a setup of some sort, I think most folks expect similar
behavior, but clearly it is not because italic does not track changes
in emphasis. However, style=italicface does seem to match the behavior
of style=\em (mostly, see the bug report below).
The basic font commands are \tf, \it, \sl, \bf, \bs and \bi and when you
want for example bold italic text you always have to use \bi even the
current text is already bold because \it produces normal italic text.
\em is a special case because it affects also italic text:
\starttext
\startlines
\tf normal {\em emphasized}
\sl slanted {\em emphasized}
\it italic {\em emphasized}
\bf bold {\em emphasized}
\bs bold slanted {\em emphasized}
\bi bold italic {\em emphasized}
\stoplines
\stoptext
So, I am asking whether, in places where folks often use style=italic,
it might be better to consider style=italicface.
Bug report: \meaning\italicface gives:
protected macro:\relax \ifx \fontalternative \s!tf \it \orelse
\ifx \fontalternative
\s!bf \bi \else \tf \fi
This leaves out the transition from bi to bf. That transition is done
by \emph, but \emph may give slanted while \italicface is always italic.
The \italicface command uses either \it or \bi as result but it never
result in upright text and the "italic" in the name tells you this,
there are commands (e.g. \boldface) with similar results. To get a
slanted style you have to use the \slantedface command.
Wolfgang
___________________________________________________________________________________
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
___________________________________________________________________________________