summaryrefslogtreecommitdiff
path: root/tex/context/base/typo-chr.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/typo-chr.mkiv')
-rw-r--r--tex/context/base/typo-chr.mkiv82
1 files changed, 82 insertions, 0 deletions
diff --git a/tex/context/base/typo-chr.mkiv b/tex/context/base/typo-chr.mkiv
new file mode 100644
index 000000000..dc0c68664
--- /dev/null
+++ b/tex/context/base/typo-chr.mkiv
@@ -0,0 +1,82 @@
+
+%D \module
+%D [ file=typo-chr,
+%D version=2015.01.01, % or about that time
+%D title=\CONTEXT\ Typesetting Macros,
+%D subtitle=Cleaning Up Mess,
+%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 / Characters}
+
+\unprotect
+
+%D This is a very experimental feature, mostly for Alan and me to play with in
+%D publication hell.
+%D
+%D \startbuffer
+%D before, after\par
+%D before,\removepunctuation after\par
+%D before\markcontent[gone]{\darkred gone}\removemarkedcontent[gone]after\par
+%D before\markcontent[kept]{\darkgreen kept}\removemarkedcontent[gone]after\par
+%D \markcontent[gone]{\darkred gone}\removemarkedcontent[gone]after\par
+%D \markcontent[kept]{\darkgreen kept}\removemarkedcontent[gone]after\par
+%D \stopbuffer
+%D
+%D \typebuffer \blank \getbuffer\blank
+%D
+%D This feature is paragraph based and is only to be used for small snippets of text,
+%D for instance when combining bit and pieces where keeping a state is complex compared
+%D to cleaning up unwanted stuff.
+
+\registerctxluafile{typo-chr}{1.001}
+
+\definesystemattribute[marked][public]
+
+\unexpanded\def\removepunctuation
+ {\clf_pickuppunctuation action{remove}\relax} % the first experiment
+
+\unexpanded\def\pushpunctuation
+ {\clf_pickuppunctuation action{push}\relax} % the first experiment
+
+\unexpanded\def\poppunctuation
+ {\clf_pickuppunctuation action{pop}\relax} % the first experiment
+
+\unexpanded\def\markcontent
+ {\dosingleempty\typo_marked_mark}
+
+\def\typo_marked_mark[#1]#2%
+ {\dontleavehmode
+ \bgroup
+ \clf_markcontent{#1}%
+ \bgroup
+ #2% double grouping makes aftergroups work ok
+ \egroup
+ \egroup}
+
+\unexpanded\def\startmarkedcontent
+ {\dontleavehmode
+ \bgroup
+ \dosingleempty\typo_marked_start}
+
+\def\typo_marked_start[#1]%
+ {\clf_markcontent{#1}%
+ % double grouping makes aftergroups work ok
+ \bgroup}
+
+\unexpanded\def\stopmarkedcontent
+ {\egroup
+ \egroup}
+
+\unexpanded\def\removemarkedcontent
+ {\dosingleempty\typo_marked_remove}
+
+\def\typo_marked_remove[#1]%
+ {\clf_pickupmarkedcontent action{remove}mark{#1}\relax}
+
+\protect \endinput