summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/prop-mis.mkii
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2008-06-12 10:42:53 +0000
committerTaco Hoekwater <taco@elvenkind.com>2008-06-12 10:42:53 +0000
commit0d01365d53c456d246da0ca1f0b3cd9868f02b35 (patch)
tree01a655c8028e17cfb371456b299c1848fe08c05b /Master/texmf-dist/tex/context/base/prop-mis.mkii
parent44f3714442da07fdfc36a7f2a8dcd5d4294c5d26 (diff)
ConTeXt release 2008.05.21
git-svn-id: svn://tug.org/texlive/trunk@8691 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/base/prop-mis.mkii')
-rw-r--r--Master/texmf-dist/tex/context/base/prop-mis.mkii155
1 files changed, 155 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/base/prop-mis.mkii b/Master/texmf-dist/tex/context/base/prop-mis.mkii
new file mode 100644
index 00000000000..3b372546dfe
--- /dev/null
+++ b/Master/texmf-dist/tex/context/base/prop-mis.mkii
@@ -0,0 +1,155 @@
+%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