summaryrefslogtreecommitdiff
path: root/tex/context/base/mkiv/font-emp.mklx
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2020-11-23 19:48:34 +0100
committerContext Git Mirror Bot <phg@phi-gamma.net>2020-11-23 19:48:34 +0100
commit18499e46a49b8ccf4346686d1cf626ada33935b8 (patch)
treebd0ae7b601b323e20954c10c07598637d9403e00 /tex/context/base/mkiv/font-emp.mklx
parent4b089e589d39346a66a27d04f9857fe16e4b7b41 (diff)
downloadcontext-18499e46a49b8ccf4346686d1cf626ada33935b8.tar.gz
2020-11-23 18:39:00
Diffstat (limited to 'tex/context/base/mkiv/font-emp.mklx')
-rw-r--r--tex/context/base/mkiv/font-emp.mklx256
1 files changed, 0 insertions, 256 deletions
diff --git a/tex/context/base/mkiv/font-emp.mklx b/tex/context/base/mkiv/font-emp.mklx
deleted file mode 100644
index da993a82c..000000000
--- a/tex/context/base/mkiv/font-emp.mklx
+++ /dev/null
@@ -1,256 +0,0 @@
-%D \module
-%D [ file=font-emp,
-%D version=20120106, % (moved from font-ini)
-%D title=\CONTEXT\ Font Macros,
-%D subtitle=Emphasis,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\writestatus{loading}{ConTeXt Font Macros / Emphasis}
-
-\unprotect
-
-%D \macros
-%D {em,emphasistypeface,emphasisboldface}
-%D
-%D The next macro started as a copy of Donald Arseneau's \type {\em} (\TUGNEWS\
-%D Vol.~3, no.~1, 1994). His implementation was a bit more sophisticated version of
-%D the standard \LATEX\ one. We further enhanced the macro, so now it also adapts
-%D itself to boldface mode. Because we favor {\sl slanted} type over {\it italic},
-%D we made the emphasis adaptable, for instance:
-%D
-%D \starttyping
-%D \def\emphasistypeface {\it}
-%D \def\emphasisboldface {\bi}
-%D \stoptyping
-%D
-%D But we prefer:
-%D
-%D \starttyping
-%D \protected\def\emphasistypeface{\sl}
-%D \protected\def\emphasisboldface{\bs}
-%D \stoptyping
-%D
-%D or even better:
-
-\let\m_font_emphasized_typeface\empty
-
-\def\font_emphasis_checked_typeface#slanted#italic%
- {\edef\m_font_emphasized_typeface{\font_bodyfontvariable\s!em}%
- \ifx\m_font_emphasized_typeface\v!slanted
- #slanted%
- \orelse\ifx\m_font_emphasized_typeface\v!italic
- #italic%
- \orelse\ifempty\m_font_emphasized_typeface
- #slanted%
- \else
- \csname\m_font_emphasized_typeface\endcsname
- \fi}
-
-\permanent\protected\def\emphasistypeface{\font_emphasis_checked_typeface\sl\it}
-\permanent\protected\def\emphasisboldface{\font_emphasis_checked_typeface\bs\bi}
-
-\permanent\protected\def\normalboldface % public
- {\relax
- \ifx\fontalternative\s!it\bi\orelse
- \ifx\fontalternative\s!sl\bs\else
- \bf\fi}
-
-\permanent\protected\def\normalitalicface % public
- {\relax
- \ifx\fontalternative\s!tf\it\orelse
- \ifx\fontalternative\s!bf\bi\else
- \tf\fi}
-
-\permanent\protected\def\normalslantedface % public
- {\relax \ifx\fontalternative\s!tf\sl
- \orelse\ifx\fontalternative\s!bf\bs
- \else \tf\fi}
-
-\permanent\protected\def\normaltypeface % public
- {\relax
- \ifx\fontalternative\s!bi \it \orelse
- \ifx\fontalternative\s!bs \sl \else
- \tf \fi}
-
-\permanent\protected\def\swaptypeface % public
- {\relax
- \ifx\fontalternative\s!it \tf \orelse
- \ifx\fontalternative\s!sl \tf \orelse
- \ifx\fontalternative\s!bf \emphasisboldface \orelse
- \ifx\fontalternative\s!bs \bf \orelse
- \ifx\fontalternative\s!bi \bf \else
- \emphasistypeface \fi}
-
-\let\typeface \normaltypeface % public
-\let\boldface \normalboldface % public
-\let\slantedface\normalslantedface % public
-\let\italicface \normalitalicface % public
-\let\swapface \swaptypeface % public
-
-%D To be set with the default body font environment: \type {em} being \type
-%D {slanted} or \type {italic}.
-
-% maybe a \csname...\fontalternative\endcsname
-
-\newconditional\c_font_emphasis_needed
-
-\permanent\protected\def\em
- {\relax
- \ifdim\slantperpoint>\zeropoint
- \settrue\c_font_emphasis_needed
- \else
- \setfalse\c_font_emphasis_needed
- \fi
- \font_emphasis_set_emphasis_boldface % new
- \ifx\fontalternative\s!it
- \enforced\permanent\protected\def\emphasistypeface{\it}\tf
- \orelse\ifx\fontalternative\s!sl
- \enforced\permanent\protected\def\emphasistypeface{\sl}\tf
- \orelse\ifx\fontalternative\s!bf
- \emphasisboldface
- \orelse\ifx\fontalternative\s!bs
- \enforced\permanent\protected\def\emphasisboldface{\bs}\bf
- \orelse\ifx\fontalternative\s!bi
- \enforced\permanent\protected\def\emphasisboldface{\bi}\bf
- \else
- \emphasistypeface
- \fi
- \ifconditional\c_font_emphasis_needed\else
- \expandafter\aftergroup
- \fi
- \emphasiscorrection}
-
-%D The next feature was not present in previous versions. It takes care of \type
-%D {\em \bf ...} situations.
-
-\let\font_emphasis_saved_emphasis_boldface\relax
-
-\def\font_emphasis_set_emphasis_boldface
- {\let\font_emphasis_saved_emphasis_boldface\bf
- \let\font_emphasis_set_emphasis_boldface\relax
- \enforced\let\bf\font_emphasis_bold_bold}
-
-\protected\def\font_emphasis_bold_bold
- {%\relax
- \enforced\let\bf\relax % new
- \ifx\fontalternative\s!it
- \bi
- \orelse\ifx\fontalternative\s!sl
- \bs
- \else
- \font_emphasis_saved_emphasis_boldface
- \fi
- \enforced\let\bf\font_emphasis_saved_emphasis_boldface}
-
-%D Donald's (adapted) macros take the next character into account when placing
-%D italic correction. As a bonus we also look for something that looks like a dash,
-%D in which case we don't correct.
-
-\let\italiccorrection=\/ % tex primitive
-
-\permanent\protected\def\emphasiscorrection % public, not in raw alignment groups, else omit problem
- {\ifhmode\ifnum\currentgrouptype=\aligngroupcode\else
- \expandafter\expandafter\expandafter\font_emphasis_look
- \fi\fi}
-
-\def\font_emphasis_look
- {\begingroup
- \futurelet\nexttoken\font_emphasis_test}
-
-\def\font_emphasis_test
- {\ifcat\noexpand\nexttoken,% we can do better in luatex ... some day ...
- \expandafter\font_emphasis_a
- \else
- \expandafter\font_emphasis_b
- \fi}
-
-\def\font_emphasis_a
- {\futurelet\nexttoken\font_emphasis_correction}
-
-\def\font_emphasis_correction
- {\setbox\scratchbox\hbox{\nexttoken}% tricky as next can be a macro
- \ifzeropt\ht\scratchbox % probably a space
- \expandafter\font_emphasis_b
- \orelse\ifdim\ht\scratchbox<.3\exheight
- \expandafter\expandafter\expandafter\endgroup
- \else
- \expandafter\expandafter\expandafter\font_emphasis_b
- \fi}
-
-\def\font_emphasis_b
- {\scratchskip\lastskip
- \ifzeropt\scratchskip
- \italiccorrection\relax
- \else
- \unskip\italiccorrection\hskip\scratchskip
- \fi
- \endgroup}
-
-%D We end with some examples which show the behavior when some punctuation is met.
-%D We also show how the mechanism adapts itself to bold, italic and slanted typing.
-%D
-%D \startbuffer
-%D test {test}test \par
-%D test {\sl test}test \par
-%D test {\em test}test \par
-%D test {\em test}--test \par
-%D
-%D test {test}, test \par
-%D test {\em test}, test \par
-%D
-%D test {\em test {\em test {\em test} test} test} test \par
-%D test {\bf test {\em test {\em test} test} test} test \par
-%D test {\sl test {\em test {\em test} test} test} test \par
-%D test {\it test {\em test {\em test} test} test} test \par
-%D \stopbuffer
-%D
-%D \typebuffer
-%D
-%D We get:
-%D
-%D \startpacked
-%D \getbuffer
-%D \stoppacked
-
-%D \macros
-%D {emphbf,emphit,emphsl,emphtf}
-%D
-%D The next emphasis alternatives are for \THANH. They adapt their style as good as
-%D possible. These macros are obsolete in \MKIV.
-
-% \protected\def\emphbf{\groupedcommand{\bf\def\emphit{\bi}\def\emphsl{\bs}}{}}
-% \protected\def\emphit{\groupedcommand{\it\def\emphbf{\bi}\def\emphsl{\sl}}{}}
-% \protected\def\emphsl{\groupedcommand{\sl\def\emphbf{\bs}\def\emphit{\it}}{}}
-% \protected\def\emphtf{\groupedcommand{\tf\def\emphbf{\bf}\def\emphit{\it}\def\emphsl{\sl}}{}}
-% \protected\def\emph {\groupedcommand{\em}{}}
-
-\protected\def\font_emphasis_bf{\bf\def\emphit{\bi}\def\emphsl{\bs}}
-\protected\def\font_emphasis_it{\it\def\emphbf{\bi}\def\emphsl{\sl}}
-\protected\def\font_emphasis_sl{\sl\def\emphbf{\bs}\def\emphit{\it}}
-\protected\def\font_emphasis_tf{\tf\def\emphbf{\bf}\def\emphit{\it}\def\emphsl{\sl}}
-
-\permanent\protected\def\emphbf{\triggergroupedcommandcs\font_emphasis_bf}
-\permanent\protected\def\emphit{\triggergroupedcommandcs\font_emphasis_it}
-\permanent\protected\def\emphsl{\triggergroupedcommandcs\font_emphasis_sl}
-\permanent\protected\def\emphtf{\triggergroupedcommandcs\font_emphasis_tf}
-\permanent\protected\def\emph {\triggergroupedcommandcs\em}
-
-\permanent\protected\def\emphasized{\bgroup\em\let\nexttoken}
-
-%D \startbuffer
-%D TEXT {\emphbf text \emphit text \emphtf text \emphsl text} TEXT
-%D TEXT \emphbf{text \emphit{text} \emphtf{text} \emphsl{text}} TEXT
-%D \stopbuffer
-%D
-%D \typebuffer
-%D \startlines
-%D \getbuffer
-%D \stoplines
-
-\protect \endinput