%D \module %D [ file=prop-mis, %D version=2004.05.29, % some code moved from private modules %D title=\CONTEXT\ Property Macros, %D subtitle=Miscelaneous, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA / Hans Hagen \& Ton Otten}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \unprotect %D Overprint cum suis. \definepropertyhandler \v!overprint {\dostartoverprint} \definepropertyhandler \v!knockout {\dostopoverprint } \def\startoverprintproperty {\ifincolor \propertyhandler\currentproperty \dooverprintmark\currentproperty \fi} \def\stopoverprintproperty {\ifincolor \ifcase\currentpropertylevel\or \dostopoverprint \dooverprintmark\empty \else \propertyhandler\previousproperty \dooverprintmark\previousproperty \fi \fi} \rawnewmark\overprintmark \def\dooverprintmark#1% {\ifinpagebody \else \ifinframed \else \expanded{\rawsetmark\noexpand\overprintmark{#1}}% \fi \fi} \def\pushoverprintproperty {\doifsomething{\rawgetbotmark\overprintmark}\dostopoverprint} \def\popoverprintproperty {\doifsomething{\rawgetbotmark\overprintmark}% {\propertyhandler{\rawgetbotmark\overprintmark}}} \def\popsplitoverprintproperty {\getsplitmarks\overprintmark % hier wel \doifsomething{\rawgetsplitbotmark\overprintmark}% {\propertyhandler{\rawgetsplitbotmark\overprintmark}}} \appendtoks \pushoverprintproperty \to \everypushproperties \appendtoks \popoverprintproperty \to \everypopproperties \appendtoks \popsplitoverprintproperty \to \everypopsplitproperties %D Negative cum suis. \definepropertyhandler \v!negative {\dostartnegative} \definepropertyhandler \v!positive {\dostopnegative } \def\startnegativeproperty {\ifincolor \propertyhandler\currentproperty \donegativemark\currentproperty \fi} \def\stopnegativeproperty {\ifincolor \ifcase\currentpropertylevel\or \dostopnegative \donegativemark\empty \else \propertyhandler\previousproperty \donegativemark\previousproperty \fi \fi} \rawnewmark\negativemark \def\donegativemark#1% {\ifinpagebody \else \ifinframed \else \expanded{\rawsetmark\noexpand\negativemark{#1}}% \fi \fi} \def\pushnegativeproperty {\doifsomething{\rawgetbotmark\negativemark}\dostopnegative} \def\popnegativeproperty {\doifsomething{\rawgetbotmark\overprintmark}% {\propertyhandler{\rawgetbotmark\negativemark}}} \def\popsplitnegativeproperty {\getsplitmarks\negativemark % hier wel \doifsomething{\rawgetsplitbotmark\negativemark}% {\propertyhandler{\rawgetsplitbotmark\negativemark}}} \appendtoks \pushnegativeproperty \to \everypushproperties \appendtoks \popnegativeproperty \to \everypopproperties \appendtoks \popsplitnegativeproperty \to \everypopsplitproperties %D Effects. \definepropertyhandler \v!normal {0} \definepropertyhandler \v!inner {0} \definepropertyhandler \v!outer {1} \definepropertyhandler \v!both {2} \definepropertyhandler \v!hidden {3} \def\effectpropertydata#1% {{\propertyhandler{#1}}% {\propertyparameter{#1}\c!rulethickness}% {\propertyparameter{#1}\c!stretch}} \def\starteffectproperty {\expanded{\dostartfonteffect\effectpropertydata\currentproperty}% \doeffectmark{\effectpropertydata\currentproperty}} \def\stopeffectproperty {\dostopfonteffect \ifcase\currentpropertylevel\or \doeffectmark\empty \else \expanded{\dostartfonteffect\effectpropertydata\previousproperty}% \doeffectmark{\effectpropertydata\previousproperty}% \fi} \rawnewmark\effectmark \def\doeffectmark#1% {\ifinpagebody \else \ifinframed \else \expanded{\rawsetmark\noexpand\effectmark{#1}}% could be number \fi \fi} \def\pusheffectproperty {\doifsomething{\rawgetbotmark\effectmark}\dostopfonteffect} \def\popeffectproperty {\doifsomething{\rawgetbotmark\effectmark}% {\expanded{\dostartfonteffect\rawgetbotmark\effectmark}}} \def\popspliteffectproperty {\getsplitmarks\effectmark \doifsomething{\rawgetsplitbotmark\effectmark}% {\expanded{\dostartfonteffect\rawgetsplitbotmark\effectmark}}} \appendtoks \pusheffectproperty \to \everypushproperties \appendtoks \popeffectproperty \to \everypopproperties \appendtoks \popspliteffectproperty \to \everypopsplitproperties \protect \endinput