diff options
Diffstat (limited to 'tex/context/base/typo-fln.mkiv')
-rw-r--r-- | tex/context/base/typo-fln.mkiv | 103 |
1 files changed, 103 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..98577d91e --- /dev/null +++ b/tex/context/base/typo-fln.mkiv @@ -0,0 +1,103 @@ +%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] + +\installcorenamespace {firstline} + +\installcommandhandler \??firstline {firstline} \??firstline + +\setupfirstline + [\c!alternative=\v!line, + %\c!style=, + %\c!color=, + \c!n=0] + +\appendtoks + \begingroup + \usefirstlinestyleandcolor\c!style\c!color + \setxvalue{\??firstline:\currentfirstline}{\ctxlua{commands.definefirstline { + 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, + }}}% + \endgroup +\to \everydefinefirstline + +\unexpanded\def\setfirstline[#1]% + {\edef\typo_firstline_set + {\typo_firstline_set_indeed{\number\csname\??firstline:#1\endcsname}}} + +\unexpanded\def\typo_firstline_set_indeed#1% + {\dontleavehmode + \begingroup + \attribute\firstlineattribute#1\relax + \kern\zeropoint % we need a node + \hskip\zeropoint\s!plus\emwidth\relax % can be an option + \globallet\typo_firstline_set\relax + \endgroup} + +\let\typo_firstline_set\relax + +% \appendtoks +% \typo_firstline_set % has to be done later +% \to \everypar + +\protect + +\endinput |