diff options
author | Hans Hagen <pragma@wxs.nl> | 2020-11-23 19:48:34 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2020-11-23 19:48:34 +0100 |
commit | 18499e46a49b8ccf4346686d1cf626ada33935b8 (patch) | |
tree | bd0ae7b601b323e20954c10c07598637d9403e00 /tex/context/base/mkiv/font-emp.mklx | |
parent | 4b089e589d39346a66a27d04f9857fe16e4b7b41 (diff) | |
download | context-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.mklx | 256 |
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 |