diff options
Diffstat (limited to 'tex/context/base/typo-fln.mkiv')
-rw-r--r-- | tex/context/base/typo-fln.mkiv | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/tex/context/base/typo-fln.mkiv b/tex/context/base/typo-fln.mkiv new file mode 100644 index 000000000..d8651b459 --- /dev/null +++ b/tex/context/base/typo-fln.mkiv @@ -0,0 +1,112 @@ +%D \module +%D [ file=typo-fln, +%D version=2013.08.22, % comes from the few years older m-newstuff +%D title=\CONTEXT\ Typesetting Macros, +%D subtitle=First Lines, +%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 Typesetting Macros / First Lines} + +%D I had this code laying around for a while \unknown\ probably as a side effect +%D of cleaning up the supp-fun modules. There is probably room for improvement +%D and more features. + +% \setupbodyfont[pagella] +% +% \starttext +% +% \setupindenting[medium,yes] +% +% \definefirstline +% [smallcaps] +% [alternative=line, +% color=darkred, +% style=\setfontfeature{smallcaps}] +% +% \setfirstline[smallcaps] \input tufte \par +% \setfirstline[smallcaps] \input ward \par +% \setfirstline[smallcaps] \input knuth \par +% \setfirstline[smallcaps] \input bryson \par +% +% \definefirstline +% [smallcaps] +% [alternative=word, +% color=darkblue, +% style=bold, +% n=2] +% +% \setfirstline[smallcaps] \input tufte \par +% \setfirstline[smallcaps] \input ward \par +% \setfirstline[smallcaps] \input knuth \par +% \setfirstline[smallcaps] \input bryson \par +% +% \stoptext + +\unprotect + +\registerctxluafile{typo-fln}{1.001} + +\definesystemattribute[firstline][public] + +\appendtoks + \attribute\firstlineattribute\attributeunsetvalue +\to \everyforgetall + +\installcorenamespace {firstline} + +\installcommandhandler \??firstline {firstline} \??firstline + +\setupfirstline + [\c!alternative=\v!line, + %\c!style=, + %\c!color=, + \c!n=1] + +\unexpanded\def\setfirstline + {\dosingleempty\typo_firstline_set} + +\unexpanded\def\typo_firstline_set[#1]% + {\edef\typo_firstline_handle{\typo_firstline_handle_indeed{#1}}} + +\unexpanded\def\typo_firstline_handle_indeed#1% + {\dontleavehmode + \begingroup + \edef\currentfirstline{#1}% + \usefirstlinestyleandcolor\c!style\c!color + \ctxlua{commands.setfirstline { + alternative = "\firstlineparameter\c!alternative", + ma = \the\attribute\colormodelattribute, + ca = \the\attribute\colorattribute, + ta = \the\attribute\transparencyattribute, + n = \number\firstlineparameter\c!n, + font = \fontid\font, + dynamic = \number\attribute\zerocount, + }}% + \kern\zeropoint % we need a node +% \hskip\zeropoint\s!plus\emwidth\relax % can be an option + \endgroup + \globallet\typo_firstline_handle\relax} + +\let\typo_firstline_handle\relax + +% goodie, question on list +% +% \defineframed[ChapterFramed][location=low,background=color,backgroundcolor=red,frame=off] +% +% \setuphead[chapter][deeptextcommand=\applytofirstcharacter\ChapterFramed] + +\unexpanded\def\applytofirstcharacter#1% + {\begingroup + \dowithnextbox + {\ctxcommand{applytofirstcharacter(\number\nextbox,"\strippedcsname#1")}% + \unhbox\nextbox + \endgroup}% + \hbox} + +\protect \endinput |