summaryrefslogtreecommitdiff
path: root/macros/context/contrib/context-letter
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/context/contrib/context-letter
Initial commit
Diffstat (limited to 'macros/context/contrib/context-letter')
-rw-r--r--macros/context/contrib/context-letter/VERSION1
-rw-r--r--macros/context/contrib/context-letter/doc/context/third/letter/README21
-rw-r--r--macros/context/contrib/context-letter/tex/context/interface/third/t-letter.xml423
-rw-r--r--macros/context/contrib/context-letter/tex/context/interface/third/t-memo.xml377
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.lua310
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkii678
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkvi1059
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkii916
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkvi919
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkii428
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkvi419
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-03.mkvi340
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-06.mkvi55
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkii30
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkiv66
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkii30
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkiv66
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkii62
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkiv62
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkii133
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkiv133
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkii52
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkiv52
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkii139
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkiv139
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkii79
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkiv79
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkii94
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkiv94
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkii52
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkiv52
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkii56
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkiv56
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkii61
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkiv61
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkii71
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkiv71
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkii56
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkiv56
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkii57
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkiv57
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkii62
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkiv62
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkii65
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkiv65
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkii54
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkiv53
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkii58
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkiv57
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkii96
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkiv96
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkii55
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkiv55
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkii55
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkiv55
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkii51
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkiv51
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-blue.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-green.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-grey.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-orange.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-red.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual.mkiv160
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-blue.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-green.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-grey.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-orange.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-red.mkiv38
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic.mkiv145
-rw-r--r--macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-default.mkiv135
70 files changed, 9772 insertions, 0 deletions
diff --git a/macros/context/contrib/context-letter/VERSION b/macros/context/contrib/context-letter/VERSION
new file mode 100644
index 0000000000..295009c0aa
--- /dev/null
+++ b/macros/context/contrib/context-letter/VERSION
@@ -0,0 +1 @@
+2017.08.27
diff --git a/macros/context/contrib/context-letter/doc/context/third/letter/README b/macros/context/contrib/context-letter/doc/context/third/letter/README
new file mode 100644
index 0000000000..cf4fa41dd6
--- /dev/null
+++ b/macros/context/contrib/context-letter/doc/context/third/letter/README
@@ -0,0 +1,21 @@
+Modulename : Correspondence (t-letter and t-memo)
+Author : Wolfgang Schuster
+License : GNU General Public License
+
+Description
+===========
+
+The correspondence package for ConTeXt consists of a module
+to write letters and memos. Both modules work with MkII and
+MkIV but the letter and memo modules for MkIV requires
+a installation from 15 December 2011 or newer while the MkII
+version of both modules work also with older installations.
+
+Usage
+=====
+
+Letters
+-------
+
+Memos
+----- \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/interface/third/t-letter.xml b/macros/context/contrib/context-letter/tex/context/interface/third/t-letter.xml
new file mode 100644
index 0000000000..9a9049146e
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/interface/third/t-letter.xml
@@ -0,0 +1,423 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2011.12.29">
+
+<cd:define name="letterlayer">
+ <cd:constant type="head"/>
+ <cd:constant type="nexthead"/>
+ <cd:constant type="lefthead"/>
+ <cd:constant type="righthead"/>
+ <cd:constant type="foot"/>
+ <cd:constant type="nextfoot"/>
+ <cd:constant type="leftfoot"/>
+ <cd:constant type="rightfoot"/>
+ <cd:constant type="address"/>
+ <cd:constant type="backaddress"/>
+ <cd:constant type="reference"/>
+ <cd:constant type="location"/>
+ <cd:constant type="topmark"/>
+ <cd:constant type="botmark"/>
+ <cd:constant type="cutmark"/>
+ <cd:constant type="endmark"/>
+ <cd:constant type="usermark"/>
+ <cd:constant type="lettermain"/>
+ <cd:constant type="letternext"/>
+</cd:define>
+
+<cd:define name="lettersection">
+ <cd:constant type="head"/>
+ <cd:constant type="date"/>
+ <cd:constant type="reference"/>
+ <cd:constant type="specialnotation"/>
+ <cd:constant type="address"/>
+ <cd:constant type="title"/>
+ <cd:constant type="subject"/>
+ <cd:constant type="opening"/>
+ <cd:constant type="content"/>
+ <cd:constant type="closing"/>
+ <cd:constant type="appendices"/>
+</cd:define>
+
+<cd:define name="letterdescription">
+ <cd:constant type="copy"/>
+ <cd:constant type="enclosure"/>
+ <cd:constant type="postscript"/>
+</cd:define>
+
+<cd:command name="defineletterelement" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="defineletterelement"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="layer"/>
+ <cd:constant type="section"/>
+ </cd:keywords>
+ <cd:keywords n="2">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords n="3">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:content n="4"/>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="letterelement" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="letterelement"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="layer"/>
+ <cd:constant type="section"/>
+ </cd:keywords>
+ <cd:keywords n="2">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords n="3">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletter" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletter"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes">
+ <cd:parameter name="KEY">
+ <cd:constant type="VALUE"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletterdescription" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletterdescription"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="spacebefore">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceafter">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceinbetween">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="before">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="after">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="headstyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="headcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <!--
+ <cd:parameter name="textstyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="textcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ -->
+ <cd:parameter name="width">
+ <cd:constant type="fit" default="yes"/>
+ <cd:constant type="broad"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="location">
+ <cd:constant type="left" default="yes"/>
+ <cd:constant type="top"/>
+ <cd:constant type="text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletterelements" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletterelements"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords n="2" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletterframe" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletterframe"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:inherit name="setupframe" n="2"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletterlayer" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletterlayer"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="x">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="y">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="preset">
+ <cd:constant type="lefttop"/>
+ <cd:constant type="righttop"/>
+ <cd:constant type="leftbottom"/>
+ <cd:constant type="rightbottom"/>
+ <cd:constant type="middle"/>
+ <cd:constant type="middletop"/>
+ <cd:constant type="middlebottom"/>
+ <cd:constant type="middleleft"/>
+ <cd:constant type="middleright"/>
+ </cd:parameter>
+ <cd:parameter name="state">
+ <cd:constant type="start"/>
+ <cd:constant type="stop"/>
+ <cd:constant type="next"/>
+ <cd:constant type="repeat"/>
+ <cd:constant type="left"/>
+ <cd:constant type="right"/>
+ <cd:constant type="even"/>
+ <cd:constant type="odd"/>
+ </cd:parameter>
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="leftmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="rightmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="symbol">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="alternative">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="list">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="separator">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletterlayout" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletterlayout"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:inherit name="setuplayout" n="2"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletteroptions" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletteroptions"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes">
+ <cd:parameter name="bodyfont">
+ <cd:inherit name="setupbodyfont"/>
+ </cd:parameter>
+ <cd:parameter name="whitespace">
+ <cd:inherit name="setupwhitespace"/>
+ </cd:parameter>
+ <cd:parameter name="backgroundcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="backgroundimage">
+ <cd:constant type="cd:file"/>
+ </cd:parameter>
+ <cd:parameter name="background">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="indenting">
+ <cd:inherit name="setupindenting"/>
+ </cd:parameter>
+ <cd:parameter name="marking">
+ <cd:constant type="yes" default="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
+ <cd:parameter name="position">
+ <cd:constant type="yes"/>
+ <cd:constant type="no" default="yes"/>
+ </cd:parameter>
+ <cd:parameter name="option">
+ <cd:constant type="test"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setuplettersection" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setuplettersection"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="spacebefore">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceafter">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceinbetween">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="leftmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="rightmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="before">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="after">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="align">
+ <cd:inherit name="setupalign" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="indenting">
+ <cd:inherit name="setupindenting" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="alternative">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="separator">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupletterstyle" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="setupletterstyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="titlestyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="titlecolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="textstyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="textcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="separator">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="letter" type="environment" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="letter"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes" optional="yes">
+ <cd:inherit name="setupletter" n="1"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="useletterstyle" file="s-cor-01.mkvi">
+ <cd:sequence>
+ <cd:string value="useletterstyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:file"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+</cd:interface> \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/interface/third/t-memo.xml b/macros/context/contrib/context-letter/tex/context/interface/third/t-memo.xml
new file mode 100644
index 0000000000..b70da3937a
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/interface/third/t-memo.xml
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2011.12.29">
+
+<cd:command name="definememoelement" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="definememoelement"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="layer"/>
+ <cd:constant type="section"/>
+ </cd:keywords>
+ <cd:keywords n="2">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords n="3">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:content n="4"/>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="memoelement" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="memoelement"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="layer"/>
+ <cd:constant type="section"/>
+ </cd:keywords>
+ <cd:keywords n="2">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords n="3">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemo" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemo"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes">
+ <cd:parameter name="KEY">
+ <cd:constant type="VALUE"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemodescription" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemodescription"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="spacebefore">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceafter">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceinbetween">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="before">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="after">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="headstyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="headcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <!--
+ <cd:parameter name="textstyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="textcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ -->
+ <cd:parameter name="width">
+ <cd:constant type="fit" default="yes"/>
+ <cd:constant type="broad"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="location">
+ <cd:constant type="left" default="yes"/>
+ <cd:constant type="top"/>
+ <cd:constant type="text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemoelements" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemoelements"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:keywords n="2" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemoframe" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemoframe"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:inherit name="setupframe" n="2"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemolayer" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemolayer"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="x">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="y">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="preset">
+ <cd:constant type="lefttop"/>
+ <cd:constant type="righttop"/>
+ <cd:constant type="leftbottom"/>
+ <cd:constant type="rightbottom"/>
+ <cd:constant type="middle"/>
+ <cd:constant type="middletop"/>
+ <cd:constant type="middlebottom"/>
+ <cd:constant type="middleleft"/>
+ <cd:constant type="middleright"/>
+ </cd:parameter>
+ <cd:parameter name="state">
+ <cd:constant type="start"/>
+ <cd:constant type="stop"/>
+ <cd:constant type="next"/>
+ <cd:constant type="repeat"/>
+ <cd:constant type="left"/>
+ <cd:constant type="right"/>
+ <cd:constant type="even"/>
+ <cd:constant type="odd"/>
+ </cd:parameter>
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="leftmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="rightmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="symbol">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="distance">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="alternative">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="list">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="separator">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemolayout" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemolayout"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:inherit name="setuplayout" n="2"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemooptions" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemooptions"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes">
+ <cd:parameter name="bodyfont">
+ <cd:inherit name="setupbodyfont"/>
+ </cd:parameter>
+ <cd:parameter name="whitespace">
+ <cd:inherit name="setupwhitespace"/>
+ </cd:parameter>
+ <cd:parameter name="backgroundcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="backgroundimage">
+ <cd:constant type="cd:file"/>
+ </cd:parameter>
+ <cd:parameter name="background">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="indenting">
+ <cd:inherit name="setupindenting"/>
+ </cd:parameter>
+ <cd:parameter name="marking">
+ <cd:constant type="yes" default="yes"/>
+ <cd:constant type="no"/>
+ </cd:parameter>
+ <cd:parameter name="option">
+ <cd:constant type="test"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemosection" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemosection"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="spacebefore">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceafter">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="spaceinbetween">
+ <cd:inherit name="blank" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="leftmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="rightmargin">
+ <cd:constant type="standard"/>
+ <cd:constant type="yes"/>
+ <cd:constant type="no"/>
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ <cd:parameter name="before">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="after">
+ <cd:constant type="cd:command"/>
+ </cd:parameter>
+ <cd:parameter name="align">
+ <cd:inherit name="setupalign" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="indenting">
+ <cd:inherit name="setupindenting" n="1"/>
+ </cd:parameter>
+ <cd:parameter name="alternative">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="separator">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="setupmemostyle" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="setupmemostyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:name"/>
+ </cd:keywords>
+ <cd:assignments n="2" list="yes">
+ <cd:parameter name="style">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="color">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="titlestyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="titlecolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="textstyle">
+ <cd:resolve name="style"/>
+ </cd:parameter>
+ <cd:parameter name="textcolor">
+ <cd:constant type="cd:name"/>
+ </cd:parameter>
+ <cd:parameter name="separator">
+ <cd:constant type="cd:text"/>
+ </cd:parameter>
+ <cd:parameter name="width">
+ <cd:constant type="cd:dimension"/>
+ </cd:parameter>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="memo" type="environment" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="memo"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:assignments n="1" list="yes" optional="yes">
+ <cd:inherit name="setupmemo" n="1"/>
+ </cd:assignments>
+ </cd:arguments>
+</cd:command>
+
+<cd:command name="usememostyle" file="s-cor-02.mkvi">
+ <cd:sequence>
+ <cd:string value="usememostyle"/>
+ </cd:sequence>
+ <cd:arguments>
+ <cd:keywords n="1" list="yes">
+ <cd:constant type="cd:file"/>
+ </cd:keywords>
+ </cd:arguments>
+</cd:command>
+
+</cd:interface> \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.lua b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.lua
new file mode 100644
index 0000000000..9da0a71d03
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.lua
@@ -0,0 +1,310 @@
+if not modules then modules = { } end modules ['s-mod-00'] = {
+ version = 1.000,
+ comment = "companion to mult-aux.mkiv",
+ author = "Wolfgang Schuster",
+ copyright = "Wolfgang Schuster",
+ license = "GNU General Public License"
+}
+
+thirddata = thirddata or { }
+thirddata.correspondence = thirddata.correspondence or { }
+
+local concat, toks, settings_to_array, settings_to_hash = table.concat, tex.toks, utilities.parsers.settings_to_array, utilities.parsers.settings_to_hash
+
+local correspondence = thirddata.correspondence
+local constants = interfaces.constants
+local variables = interfaces.variables
+
+local c_titlestyle = constants.titlestyle
+local c_titlecolor = constants.titlecolor
+local c_textcolor = constants.textcolor
+local c_textstyle = constants.textstyle
+local c_separator = constants.separator
+
+local v_correspondence = variables.correspondence
+local v_letter = variables.letter
+local v_memo = variables.memo
+local v_resume = variables.resume
+local v_frames = variables.frames
+local v_stop = variables.stop
+local v_layer = variables.layer
+local v_section = variables.section
+local v_color = variables.color
+local v_singlesided = variables.singlesided
+local v_reset = variables.reset
+local v_line = variables.line
+local v_top = variables.top
+local v_bottom = variables.bottom
+local v_off = variables.off
+local v_right = variables.right
+local v_page = variables.page
+local v_paper = variables.paper
+local v_text = variables.text
+local v_start = variables.start
+local v_list = variables.list
+
+-- list for the elements to be shown
+
+correspondence.data = { }
+
+function correspondence.elements_define(environment,name,list)
+ local index = concat({environment,name},":")
+ local list = settings_to_array(list)
+ correspondence.data[index] = list
+end
+
+function correspondence.elements_access(environment,name)
+ local index = concat({environment,name},":")
+ local list = correspondence.data[index]
+ local entries = ""
+ if list and list ~= "" then
+ entries = concat(list,",")
+ end
+ context(entries)
+end
+
+-- create synonyms for the default styles
+
+local patterns = {
+ [v_letter] = { "letter-imp-%s.mkiv", "letter-imp-%s.tex", "letter-%s.mkiv", "letter-%s.tex" },
+ [v_memo] = { "memo-imp-%s.mkiv", "memo-imp-%s.tex", "memo-%s.mkiv", "memo-%s.tex" },
+ [v_resume] = { "resume-imp-%s.mkiv", "resume-imp-%s.tex", "resume-%s.mkiv", "resume-%s.tex" },
+ [v_frames] = { "frames-imp-%s.mkiv", "frames-imp-%s.tex", "frames-%s.mkiv", "frames-%s.tex" },
+}
+
+local function action(name,foundname)
+ context.startreadingfile()
+ context.pushendofline()
+ context.unprotect()
+ context.input(foundname)
+ context.protect()
+ context.popendofline()
+ context.stopreadingfile()
+end
+
+function correspondence.file(environment,name)
+ local environment = environment
+ local name = name
+ commands.uselibrary {
+ name = name,
+ patterns = patterns[environment],
+ action = action,
+ }
+end
+
+-- moved from TeX to Lua because it’s easier with the lists for the sections and layers
+
+function correspondence.place(environment,settings)
+ local bodyfont = settings.bodyfont
+ local whitespace = settings.whitespace
+ local interlinespace = settings.interlinespace
+ local language = settings.language
+ local backgroundcolor = settings.backgroundcolor
+ context.unprotect()
+ context(toks.t_correspondence_before)
+ context.page()
+ -- page layout is controlled with the \setup…layout commands
+ context.setuplayout{ method = v_correspondence }
+ -- disable headers and footers
+ context.setupheader{ state = v_stop }
+ context.setupfooter{ state = v_stop }
+ -- required for the manual, manual changes for the elements can be done with the “style” key
+ if bodyfont ~= "" then
+ context.setupbodyfont{bodyfont}
+ end
+ -- can be moved to the section elements because it’s only usefull for the content
+ if whitespace ~= "" then
+ context.setupwhitespace{whitespace}
+ end
+ -- feature
+ if interlinespace ~= "" then
+ context.setupinterlinespace{interlinespace}
+ end
+ -- I prefer to set this with \setup…options
+ if language ~= "" then
+ context.mainlanguage{language}
+ end
+ -- colored background is behind all other layers
+ if backgroundcolor ~= "" then
+ context.setupbackgrounds({ v_paper },{ background = v_color, backgroundcolor = backgroundcolor })
+ end
+ -- layers
+ local layer = { }
+ for index, element in next, correspondence.data[concat({environment,v_layer},":")] or { } do
+ layer[index] = concat({environment,element},":")
+ end
+ local overlays = {
+ "correspondence:backgroundimage",
+ "correspondence:background",
+ concat(layer,","),
+ }
+ context.setupbackgrounds({ v_page },{ background = concat(overlays,",") })
+ -- letters are always singlesided because the layout controlled by the module
+ context.setuppagenumbering{ alternative = v_singlesided, location = "" }
+ context.setupsubpagenumber{ way = v_text, state = v_start }
+ context.resetsubpagenumber()
+ -- sections
+ for _, element in next, correspondence.data[concat({environment,v_section},":")] or { } do
+ context.correspondence_section_place({environment},{element})
+ end
+ context.page()
+ context.resetsubpagenumber()
+ -- make sure the normal layout is restored
+ context.setuplayout{v_reset}
+ context(toks.t_correspondence_after)
+ context.protect()
+end
+
+correspondence.letter = { }
+
+local function reference_a(environment,value)
+ local environment = environment
+ local value = value
+ local style = nil
+ context.vbox( function()
+ style = concat({environment,value},":")
+ context.setevalue("currentcorrespondencestyle",style)
+ context.framed( { frame = v_off, location = v_bottom, align = v_right, offset = "0pt" }, function()
+ context.usecorrespondencestylestyleandcolor(c_titlestyle,c_titlecolor)
+ context.setupinterlinespace()
+ context.lettertext(value)
+ context.par()
+ end )
+ context.framed( { frame = v_off, location = v_top, align = v_right, offset = "0pt" }, function()
+ context.usecorrespondencestylestyleandcolor(c_textstyle,c_textcolor)
+ context.setupinterlinespace()
+ context.correspondenceparameter(value)
+ context.par()
+ end )
+ end )
+end
+
+function correspondence.letter.reference_a(environment,list)
+ local environment = environment
+ local list = settings_to_array(list)
+ local style = nil
+ if #list == 1 then
+ local value = list[1]
+ context.rightaligned( function() reference_a(environment,value) end )
+ else
+ context.maxaligned( function()
+ for index, value in next, list do
+ if value == "" or value == v_line then
+ -- ignore empty entries and the “line” keyword
+ else
+ if index ~= 1 then context.hfill() end
+ reference_a(environment,value)
+ end
+ end
+ end )
+ end
+end
+
+function correspondence.letter.reference_b(environment,list)
+ local environment = environment
+ local list = settings_to_array(list)
+ local style = nil
+ context.vtop( function()
+ for _, value in next, list do
+ if value == "" then
+ -- ignore empty entries in the list
+ elseif value == v_line then
+ context.blank{v_line}
+ else
+ context.hbox( function()
+ style = concat({environment,value},":")
+ context.setevalue("currentcorrespondencestyle",style)
+ context.begingroup()
+ context.usecorrespondencestylestyleandcolor(c_titlestyle,c_titlecolor)
+ context.lettertext(value)
+ context.correspondencestyleparameter(c_separator)
+ context.endgroup()
+ context.begingroup()
+ context.usecorrespondencestylestyleandcolor(c_textstyle,c_textcolor)
+ context.correspondenceparameter(value)
+ context.endgroup()
+ end )
+ end
+ end
+ end )
+end
+
+function correspondence.letter.reference_c(environment,list)
+ local environment = environment
+ local list = settings_to_array(list)
+ local style = nil
+ for _, value in next, list do
+ if value == "" or value == v_line then
+ -- ignore empty entries and the “line” keyword
+ else
+ style = concat({environment,value},":")
+ context.setvalue("currentcorrespondencestyle",style)
+ context.usecorrespondencestylestyleandcolor(c_textstyle,c_textcolor)
+ context.correspondenceparameter(value)
+ end
+ end
+end
+
+function correspondence.letter.reference_d(environment,list)
+ local environment = environment
+ local list = settings_to_array(list)
+ local style = nil
+ context.vtop( function()
+ context.starttabulate( { "|l|l|" }, { before = "", after = "" } )
+ for _, value in next, list do
+ if value == "" then
+ -- ignore empty entries in the list
+ elseif value == v_line then
+ context.TB()
+ else
+ style = concat({environment,value},":")
+ context.NC()
+ context.setvalue("currentcorrespondencestyle",style)
+ context.usecorrespondencestylestyleandcolor(c_titlestyle,c_titlecolor)
+ context.lettertext(value)
+ context.correspondencestyleparameter(c_separator)
+ context.NC()
+ context.setvalue("currentcorrespondencestyle",style)
+ context.usecorrespondencestylestyleandcolor(c_textstyle,c_textcolor)
+ context.correspondenceparameter(value)
+ context.NC()
+ context.NR()
+ end
+ end
+ context.stoptabulate()
+ end )
+end
+
+function correspondence.letter.reference_e(environment,list)
+ local environment = environment
+ local list = settings_to_array(list)
+ local style, settings = nil
+ context.leftaligned( function()
+ for _, value in next, list do
+ if value == "" or value == v_line then
+ -- ignore empty entries and the “line” keyword
+ else
+ context.unprotect()
+ context.correspondence_style_width( environment, value, function() reference_a(environment,value) end )
+ context.protect()
+ end
+ end
+ end )
+end
+
+function correspondence.description_split(list)
+ local format, items = nil, nil
+ if string.find(list,":") then
+ format, items = string.splitup(list,":")
+ if format ~= v_list then
+ items = list
+ end
+ else
+ items = list
+ end
+ -- the macros are empty be default, change this only when necessary
+ context.unprotect()
+ if format then context.setvalue("m_correspondence_description_format",format) end
+ if items then context.setvalue("m_correspondence_description_items" ,items ) end
+ context.protect()
+end \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkii
new file mode 100644
index 0000000000..15645cb73a
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkii
@@ -0,0 +1,678 @@
+%D \module
+%D [ file=s-cor-00,
+%D version=2012.06.10,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Correspondence,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+% Constants and variables
+
+\startinterface all
+ \setinterfaceconstant {whitespace} {whitespace}
+ \setinterfaceconstant {backgroundimage} {backgroundimage}
+ \setinterfaceconstant {fromname} {fromname}
+ \setinterfaceconstant {fromaddress} {fromaddress}
+ \setinterfaceconstant {attention} {attention}
+ \setinterfaceconstant {subject} {subject}
+ \setinterfaceconstant {closing} {closing}
+ \setinterfaceconstant {signature} {signature}
+ \setinterfaceconstant {copy} {copy}
+ \setinterfaceconstant {enclosure} {enclosure}
+ \setinterfaceconstant {postscript} {postscript}
+ \setinterfaceconstant {dispatch} {dispatch}
+ \setinterfaceconstant {toname} {toname}
+ \setinterfaceconstant {toaddress} {toaddress}
+ \setinterfaceconstant {backaddress} {backaddress}
+ \setinterfaceconstant {opening} {opening}
+ \setinterfaceconstant {fromphone} {fromphone}
+ \setinterfaceconstant {fromfax} {fromfax}
+ \setinterfaceconstant {frommail} {frommail}
+ \setinterfaceconstant {fromurl} {fromurl}
+ \setinterfaceconstant {salutation} {salutation}
+ \setinterfaceconstant {language} {language}
+ \setinterfaceconstant {street} {street}
+ \setinterfaceconstant {city} {city}
+ \setinterfaceconstant {phone} {phone}
+ \setinterfaceconstant {email} {email}
+ \setinterfaceconstant {bankname} {bankname}
+ \setinterfaceconstant {banknumber} {banknumber}
+ \setinterfaceconstant {accountnumber} {accountnumber}
+ \setinterfaceconstant {room} {room}
+ \setinterfaceconstant {yourref} {yourref}
+ \setinterfaceconstant {yourmail} {yourmail}
+ \setinterfaceconstant {myref} {myref}
+ \setinterfaceconstant {mymail} {mymail}
+ \setinterfaceconstant {customer} {customer}
+ \setinterfaceconstant {invoice} {invoice}
+ \setinterfaceconstant {fax} {fax}
+ \setinterfaceconstant {url} {url}
+ \setinterfaceconstant {bank} {bank}
+ \setinterfaceconstant {organization} {organization}
+ \setinterfaceconstant {zip} {zip}
+ \setinterfaceconstant {country} {country}
+\stopinterface
+
+\startinterface all
+ % all
+ \setinterfacevariable {correspondence} {correspondence}
+ \setinterfacevariable {nexthead} {nexthead}
+ \setinterfacevariable {lefthead} {lefthead}
+ \setinterfacevariable {righthead} {righthead}
+ \setinterfacevariable {foot} {foot}
+ \setinterfacevariable {nextfoot} {nextfoot}
+ \setinterfacevariable {leftfoot} {leftfoot}
+ \setinterfacevariable {rightfoot} {rightfoot}
+ \setinterfacevariable {topmark} {topmark}
+ \setinterfacevariable {botmark} {botmark}
+ \setinterfacevariable {cutmark} {cutmark}
+ \setinterfacevariable {endmark} {endmark}
+ \setinterfacevariable {usermark} {usermark}
+ % letter
+ \setinterfacevariable {lettermain} {lettermain}
+ \setinterfacevariable {letternext} {letternext}
+ \setinterfacevariable {letter} {letter}
+ \setinterfacevariable {address} {address}
+ \setinterfacevariable {backaddress} {backaddress}
+ \setinterfacevariable {location} {location}
+ \setinterfacevariable {opening} {opening}
+ \setinterfacevariable {closing} {closing}
+ \setinterfacevariable {secondpage} {secondpage}
+ \setinterfacevariable {copy} {copy}
+ \setinterfacevariable {enclosure} {enclosure}
+ \setinterfacevariable {french} {french}
+ \setinterfacevariable {specialnotation} {specialnotation}
+ \setinterfacevariable {e} {e}
+ \setinterfacevariable {place} {place}
+ \setinterfacevariable {gbrief} {gbrief}
+ \setinterfacevariable {fullblock} {fullblock}
+ \setinterfacevariable {semiblock} {semiblock}
+ \setinterfacevariable {simplified} {simplified}
+ \setinterfacevariable {modified} {modified}
+ \setinterfacevariable {blockstyle} {blockstyle}
+ \setinterfacevariable {knuth} {knuth}
+ % memo
+ \setinterfacevariable {memo} {memo}
+ \setinterfacevariable {memomain} {memomain}
+ \setinterfacevariable {memonext} {memonext}
+\stopinterface
+
+% Messages
+
+\definemessageconstant {correspondence}
+
+\startinterface all
+ \setinterfacemessage{correspondence}{title}{correspondence}
+ \setinterfacemessage{correspondence}{1} {Undefined layer '--' for the '--' environment}
+ \setinterfacemessage{correspondence}{2} {Undefined section '--' for the '--' environment}
+ \setinterfacemessage{correspondence}{3} {Undefined description '--' for the '--' environment}
+\stopinterface
+
+% Namespaces
+
+\def\????correspondence {@@@@correspondence}
+\def\????correspondencebuffer {@@@@correspondencebuffer}
+\def\????correspondencelayer {@@@@correspondencelayer}
+\def\????correspondencelayerstate {@@@@correspondencelayerstate}
+\def\????correspondenceframe {@@@@correspondenceframe}
+\def\????correspondencesection {@@@@correspondencesection}
+\def\????correspondenceoption {@@@@correspondenceoption}
+\def\????correspondencedescription {@@@@correspondencedescription}
+\def\????correspondencedescriptionlocation {@@@@correspondencedescriptionlocation}
+\def\????correspondencestyle {@@@@correspondencestyle}
+\def\????correspondenceelement {@@@@correspondenceelement}
+\def\????correspondencelayout {@@@@correspondencelayout}
+
+% Environment
+
+\newtoks\everydefinecorrespondence
+
+\unexpanded\def\startcorrespondence[#1]%
+ {\starttext
+ \begingroup
+ \def\currentcorrespondence{#1}%
+ \dosingleempty\dostartcorrespondence}
+
+\def\dostartcorrespondence[#1]%
+ {\iffirstargument
+ \setupcurrentcorrespondence[#1]%
+ \fi
+ \dostartbuffer[\????correspondencebuffer\currentcorrespondence][\e!start\currentcorrespondence][\e!stop\currentcorrespondence]}
+
+\unexpanded\def\stopcorrespondence[#1]%
+ {\placecorrespondence[#1]%
+ \endgroup
+ \stoptext}
+
+\appendtoks
+ \normalprotected\expandafter\edef\csname\e!start\currentcorrespondence\endcsname{\startcorrespondence[\currentcorrespondence]}%
+ \normalprotected\expandafter\edef\csname\e!stop \currentcorrespondence\endcsname{\stopcorrespondence [\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+\unexpanded\def\startcorrespondencecontent[#1]%
+ {\begingroup
+ \def\currentcorrespondence{#1}%
+ \dostartbuffer[\????correspondencebuffer\currentcorrespondence][\e!start\currentcorrespondence\v!content][\e!stop\currentcorrespondence\v!content]}
+
+\unexpanded\def\stopcorrespondencecontent[#1]%
+ {\endgroup}
+
+\appendtoks
+ \normalprotected\expandafter\edef\csname\e!start\currentcorrespondence\v!content\endcsname{\startcorrespondencecontent[\currentcorrespondence]}%
+ \normalprotected\expandafter\edef\csname\e!stop \currentcorrespondence\v!content\endcsname{\stopcorrespondencecontent [\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+\unexpanded\def\correspondenceparameters#1#2#3%
+ {\def\currentcorrespondenceelement {#1:#2}%
+ \def\currentcorrespondencecontent {#1:#3:#2}%
+ \let\currentcorrespondencelayer \currentcorrespondenceelement
+ \let\currentcorrespondenceframe \currentcorrespondenceelement
+ \let\currentcorrespondencesection \currentcorrespondenceelement
+ \let\currentcorrespondencedescription\currentcorrespondenceelement}
+
+\unexpanded\def\definecorrespondence[#1]%
+ {\def\currentcorrespondence{#1}%
+ \the\everydefinecorrespondence}
+
+% Setup
+
+\def\correspondenceparameter
+ {\namedcorrespondenceparameter\currentcorrespondence}
+
+\def\namedcorrespondenceparameter#1#2%
+ {\csname
+ \ifcsname\????correspondence#1#2\endcsname
+ \????correspondence#1#2%
+ \else
+ \s!empty
+ \fi
+ \endcsname}
+
+\unexpanded\def\setupcorrespondence[#1]%
+ {\def\currentcorrespondence{#1}%
+ \setupcurrentcorrespondence}
+
+\unexpanded\def\setupcurrentcorrespondence
+ {\getparameters[\????correspondence\currentcorrespondence]}
+
+\appendtoks
+ \normalprotected\expandafter\edef\csname\e!setup\currentcorrespondence\e!endsetup\endcsname{\noexpand\dodoubleargument\setupcorrespondence[\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+% Placement
+
+\newtoks\everybeforecorrespondence
+\newtoks\everyaftercorrespondence
+
+\unexpanded\def\placecorrespondence[#1]%
+ {\begingroup
+ \edef\currentcorrespondence{#1}%
+ \let \currentcorrespondenceoption\currentcorrespondence
+ \the\everybeforecorrespondence
+ \page
+ \setupheader[\c!state=\v!stop]%
+ \setupfooter[\c!state=\v!stop]%
+ \doifsomething{\correspondenceoptionparameter\c!bodyfont }{\setupbodyfont [\correspondenceoptionparameter\c!bodyfont ]}%
+ \doifsomething{\correspondenceoptionparameter\c!whitespace}{\setupwhitespace[\correspondenceoptionparameter\c!whitespace]}%
+ \doifsomething{\correspondenceoptionparameter\c!language }{\mainlanguage [\correspondenceoptionparameter\c!language ]}%
+ % backgroundcolor is applied to the paper background
+ \doifsomething{\correspondenceoptionparameter\c!backgroundcolor}%
+ {\setupbackgrounds[\v!paper][\c!background=\v!color,\c!backgroundcolor=\correspondenceoptionparameter\c!backgroundcolor]}
+ % layers
+ \let\correspondencebackgrounds\empty
+ \def\addcorrespondencelayertolist##1{\addtocommalist{\currentcorrespondence:##1}\correspondencebackgrounds}
+ \processcommacommand[\accesscorrespondenceelements\currentcorrespondence\v!layer,correspondence:backgroundimage,correspondence:background]\addcorrespondencelayertolist
+ \expanded{\setupbackgrounds[\v!page][\c!background={\correspondencebackgrounds}]}%
+ % layout
+ \setuppagenumbering[\c!alternative=\v!singlesided,\c!location=]%
+ \setupsubpagenumber[\c!way=\v!by\v!text,\c!state=\v!start]%
+ % sections
+ \expanded{\processcommalistwithparameters[\accesscorrespondenceelements\currentcorrespondence\v!section]}{\placecorrespondencesection[\currentcorrespondence]}%
+ \page
+ \resetsubpagenumber
+ \setuplayout[\v!reset]%
+ \the\everyaftercorrespondence
+ \endgroup}
+
+\appendtoks
+ \normalprotected\expandafter\edef\csname\e!place\currentcorrespondence\endcsname{\placecorrespondence[\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+% Layers
+
+\def\correspondencelayerparameter
+ {\namedcorrespondencelayerparameter\currentcorrespondencelayer}
+
+\def\namedcorrespondencelayerparameter#1#2%
+ {\csname
+ \ifcsname\????correspondencelayer#1#2\endcsname
+ \????correspondencelayer#1#2%
+ \else\ifcsname\????correspondencelayer#2\endcsname
+ \????correspondencelayer#2%
+ \else
+ \s!empty
+ \fi\fi
+ \endcsname}
+
+\def\correspondenceframeparameter
+ {\namedcorrespondenceframeparameter\currentcorrespondenceframe}
+
+\def\namedcorrespondenceframeparameter#1#2%
+ {\csname
+ \ifcsname\????correspondenceframe#1#2\endcsname
+ \????correspondenceframe#1#2%
+ \else\ifcsname\????correspondenceframe#2\endcsname
+ \????correspondenceframe#2%
+ \else
+ \s!empty
+ \fi\fi
+ \endcsname}
+
+\unexpanded\def\setupcorrespondencelayer[#1][#2][#3]%
+ {\def\dosetupcorrespondencelayer##1%
+ {\edef\currentcorrespondencelayer{#1:##1}%
+ \setupcurrentcorrespondencelayer[#3]%
+ \the\everysetupcorrespondencelayer}%
+ \processcommalist[#2]\dosetupcorrespondencelayer}
+
+\unexpanded\def\setupcurrentcorrespondencelayer
+ {\getparameters[\????correspondencelayer\currentcorrespondencelayer]}
+
+\unexpanded\def\setupcorrespondenceframe[#1][#2][#3]%
+ {\def\dosetupcorrespondenceframe##1%
+ {\edef\currentcorrespondenceframe{#1:##1}%
+ \setupcurrentcorrespondenceframe[#3]}%
+ \processcommalist[#2]\dosetupcorrespondenceframe}
+
+\unexpanded\def\setupcurrentcorrespondenceframe
+ {\getparameters[\????correspondenceframe\currentcorrespondenceframe]}
+
+\unexpanded\def\definecorrespondencelayer[#1][#2]%
+ {\def\currentcorrespondencelayer{#1:#2}%
+ \let\currentcorrespondenceframe\currentcorrespondencelayer
+ \copylocalframed[\????correspondenceframe\currentcorrespondenceframe][\????correspondenceframe]%
+ \expandafter\let\csname\????correspondencelayer\currentcorrespondencelayer\s!parent\endcsname\????correspondencelayer
+ \expandafter\let\csname\????correspondenceframe\currentcorrespondenceframe\s!parent\endcsname\????correspondenceframe
+ \definelayer [#1:#2][\c!width=\overlaywidth,\c!height=\overlayheight]%
+ \defineoverlay[#1:#2][\placecorrespondencelayer{#1}{#2}]}
+
+\newtoks\everysetupcorrespondencelayer
+
+\appendtoks
+ \setuplayer
+ [\currentcorrespondencelayer]
+ [ \c!x=\correspondencelayerparameter\c!x,
+ \c!y=\correspondencelayerparameter\c!y,
+ \c!preset=\correspondencelayerparameter\c!preset]%
+\to \everysetupcorrespondencelayer
+
+\setvalue{\????correspondencelayerstate\v!start }{\!!doneatrue \!!donebfalse \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!stop }{\!!doneafalse \!!donebfalse \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!next }{\!!doneafalse \!!donebtrue \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!repeat}{\!!doneatrue \!!donebtrue \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!left }{\!!doneafalse \!!donebfalse \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!right }{\!!doneafalse \!!donebtrue \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!even }{\!!doneafalse \!!donebfalse \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!odd }{\!!doneafalse \!!donebtrue \!!donecfalse}
+
+\unexpanded\def\placecorrespondencelayer#1#2%
+ {\correspondenceparameters{#1}{#2}\v!layer
+ \executeifdefined{\????correspondencelayerstate\correspondencelayerparameter\c!state}{\getvalue{\????correspondencelayerstate\v!stop}}
+ \ifnum\correspondencepage=\plusone
+ \if!!donea\doplacecorrespondencelayer{#1}{#2}\fi
+ \else\ifodd\correspondencepage
+ \if!!doneb\doplacecorrespondencelayer{#1}{#2}\fi
+ \else
+ \if!!donec\doplacecorrespondencelayer{#1}{#2}\fi
+ \fi\fi
+ \tightlayer[\currentcorrespondencelayer]}
+
+\unexpanded\def\doplacecorrespondencelayer#1#2%
+ {\setlayer
+ [\currentcorrespondencelayer]
+ {\localframed[\????correspondenceframe\currentcorrespondenceframe]
+ {\doadaptleftskip {\correspondencelayerparameter\c!leftmargin }%
+ \doadaptrightskip{\correspondencelayerparameter\c!rightmargin}%
+ \dostartattributes{\????correspondencelayer\currentcorrespondencelayer}\c!style\c!color
+ \doifsymboldefinedelse{\correspondencelayerparameter\c!symbol}%
+ {\symbol[\correspondencelayerparameter\c!symbol]}
+ {\placecorrespondenceelement[#1][\v!layer][#2][\correspondencelayerparameter\c!alternative]}%
+ \dostopattributes}}}
+
+\unexpanded\def\checkcorrespondencelayer[#1][#2]%
+ {\def\currentcorrespondencelayer{#1:#2}%
+ \ifcsname\????correspondencelayer\currentcorrespondencelayer\s!parent\endcsname \else
+ \showmessage\m!correspondence{2}{#1,#2}%
+ \fi}
+
+\getparameters
+ [\????correspondencelayer]
+ [ \c!state=\v!start,
+ \c!x=\zeropoint,
+ \c!y=\zeropoint,
+ \c!alternative=\s!default,
+ \c!distance=\lineheight,
+ \c!separator=\crlf]
+
+\presetlocalframed[\????correspondenceframe]
+
+\getparameters
+ [\????correspondenceframe]
+ [ \c!frame=\v!off,
+ \c!offset=\zeropoint,
+ \c!align=\v!right]
+
+% Sections
+
+\def\correspondencesectionparameter
+ {\namedcorrespondencesectionparameter\currentcorrespondencesection}
+
+\def\namedcorrespondencesectionparameter#1#2%
+ {\csname
+ \ifcsname\????correspondencesection#1#2\endcsname
+ \????correspondencesection#1#2%
+ \else\ifcsname\????correspondencesection#2\endcsname
+ \????correspondencesection#2%
+ \else
+ \s!empty
+ \fi\fi
+ \endcsname}
+
+\unexpanded\def\definecorrespondencesection[#1][#2]%
+ {\def\currentcorrespondencesection{#1:#2}%
+ \expandafter\let\csname\????correspondencesection\currentcorrespondencesection\s!parent\endcsname\????correspondencesection}
+
+\unexpanded\def\setupcorrespondencesection[#1][#2][#3]%
+ {\def\dosetupcorrespondencesection##1%
+ {\edef\currentcorrespondencesection{#1:##1}%
+ \setupcurrentcorrespondencesection[#3]}%
+ \processcommalist[#2]\dosetupcorrespondencesection}
+
+\unexpanded\def\setupcurrentcorrespondencesection
+ {\getparameters[\????correspondencesection\currentcorrespondencesection]}
+
+\unexpanded\def\placecorrespondencesection[#1][#2]%
+ {\begingroup
+ \correspondenceparameters{#1}{#2}\v!section
+ \ifcsname\????correspondencesection\currentcorrespondencesection\s!parent\endcsname
+ \doifsomethingelse{\correspondencesectionparameter\c!spacebefore}{\blank[\correspondencesectionparameter\c!spacebefore]}{\endgraf}%
+ \correspondencesectionparameter\c!before
+ \doadaptleftskip {\correspondencesectionparameter\c!leftmargin }%
+ \doadaptrightskip{\correspondencesectionparameter\c!rightmargin}%
+ \doifsomething{\correspondencesectionparameter\c!align }{\setupalign [\correspondencesectionparameter\c!align ]}%
+ \doifsomething{\correspondencesectionparameter\c!indenting}{\setupindenting[\correspondencesectionparameter\c!indenting]}%
+ \dostartattributes{\????correspondencesection\currentcorrespondencesection}\c!style\c!color
+ \placecorrespondenceelement[#1][\v!section][#2][\correspondencesectionparameter\c!alternative]%
+ \dostopattributes
+ \correspondencesectionparameter\c!after
+ \doifsomethingelse{\correspondencesectionparameter\c!spaceafter }{\blank[\correspondencesectionparameter\c!spaceafter ]}{\endgraf}%
+ \else
+ \showmessage\m!correspondence{2}{#1,#2}%
+ \fi
+ \endgroup}
+
+\getparameters
+ [\????correspondencesection]
+ [ \c!spacebefore=\v!line,
+ \c!spaceafter=\v!line,
+ \c!spaceinbetween={\v!samepage,\v!line},
+ \c!alternative=\s!default,
+ \c!separator=\crlf]
+
+% Options
+
+\def\correspondenceoptionparameter
+ {\namedcorrespondenceoptionparameter\currentcorrespondenceoption}
+
+\def\namedcorrespondenceoptionparameter#1#2%
+ {\csname
+ \ifcsname\????correspondenceoption#1#2\endcsname
+ \????correspondenceoption#1#2%
+ \else\ifcsname\????correspondenceoption#2\endcsname
+ \????correspondenceoption#2%
+ \else
+ \s!empty
+ \fi\fi
+ \endcsname}
+
+\unexpanded\def\setupcorrespondenceoption[#1]%
+ {\edef\currentcorrespondenceoption{#1}%
+ \setupcurrentcorrespondenceoption}%
+
+\unexpanded\def\setupcurrentcorrespondenceoption
+ {\getparameters[\????correspondenceoption\currentcorrespondenceoption]}
+
+\defineoverlay
+ [\v!correspondence:\c!backgroundimage]
+ [\doifsomething{\correspondenceoptionparameter\c!backgroundimage}
+ {\overlayfigure{\correspondenceoptionparameter\c!backgroundimage}}]
+
+\defineoverlay
+ [\v!correspondence:\c!background]
+ [\correspondenceoptionparameter\c!background]
+
+% Descriptions
+
+\def\correspondencedescriptionparameter
+ {\namedcorrespondencedescriptionparameter\currentcorrespondencedescription}
+
+\def\namedcorrespondencedescriptionparameter#1#2%
+ {\csname
+ \ifcsname\????correspondencedescription#1#2\endcsname
+ \????correspondencedescription#1#2%
+ \else\ifcsname\????correspondencedescription#2\endcsname
+ \????correspondencedescription#2%
+ \else
+ \s!empty
+ \fi\fi
+ \endcsname}
+
+\unexpanded\def\definecorrespondencedescription[#1][#2]%
+ {\edef\currentcorrespondencedescription{#1:#2}%
+ \expandafter\let\csname\????correspondencedescription\currentcorrespondencedescription\s!parent\endcsname\????correspondencedescription}
+
+\unexpanded\def\setupcorrespondencedescription[#1][#2][#3]%
+ {\def\dosetupcorrespondencedescription##1%
+ {\edef\currentcorrespondencedescription{#1:##1}
+ \setupcurrentcorrespondencedescription[#3]}%
+ \processcommalist[#2]\dosetupcorrespondencedescription}
+
+\unexpanded\def\setupcurrentcorrespondencedescription
+ {\getparameters[\????correspondencedescription\currentcorrespondencedescription]}
+
+\unexpanded\def\placecorrespondencedescription#1#2%
+ {\begingroup
+ \edef\currentcorrespondencedescription{#1:#2}%
+ \ifcsname\????correspondencedescription\currentcorrespondencedescription\s!parent\endcsname
+ \doifsomethingelse{\correspondencedescriptionparameter\c!textcommand}\donetrue\donefalse
+ \ifdone
+ \doifsomethingelse{\correspondencedescriptionparameter\c!spacebefore}{\blank[\correspondencedescriptionparameter\c!spacebefore]}{\endgraf}%
+ \correspondencedescriptionparameter\c!before
+ \setbox\scratchbox\hbox
+ {\dostartattributes{\????correspondencedescription\currentcorrespondencedescription}\c!headstyle\c!headcolor
+ \correspondencedescriptionparameter\c!headcommand
+ \dostopattributes}%
+ \assignwidth
+ {\scratchdimen}
+ {\correspondencedescriptionparameter\c!width}
+ {\unhcopy\scratchbox}
+ {\correspondencedescriptionparameter\c!distance}%
+ \executeifdefined{\????correspondencedescriptionlocation\correspondencedescriptionparameter\c!location}{\getvalue{\????correspondencedescriptionlocation\v!left}}%
+ \correspondencedescriptionparameter\c!after
+ \doifsomethingelse{\correspondencedescriptionparameter\c!spaceafter}{\blank[\correspondencedescriptionparameter\c!spaceafter]}{\endgraf}%
+ \fi
+ \else
+ \showmessage\m!correspondence{3}{#1,#2}%
+ \fi
+ \endgroup}
+
+\setvalue{\????correspondencedescriptionlocation\v!left}%
+ {\EveryPar{\hangindent\scratchdimen\hangafter\zerocount}%
+ \setbox\scratchbox\hbox to \scratchdimen{\box\scratchbox\hss}%
+ \noindent\llap{\box\scratchbox}\correspondencedescriptionparameter\c!textcommand}
+
+\setvalue{\????correspondencedescriptionlocation\v!top}%
+ {\noindent\box\scratchbox
+ \doifsomethingelse{\correspondencedescriptionparameter\c!spaceinbetween}
+ {\blank[\correspondencedescriptionparameter\c!spaceinbetween]}
+ {\nobreak\endgraf}%
+ \correspondencedescriptionparameter\c!textcommand}
+
+\setvalue{\????correspondencedescriptionlocation\v!text}%
+ {\noindent\box\scratchbox\correspondencedescriptionparameter\c!textcommand}
+
+\getparameters
+ [\????correspondencedescription]
+ [\c!width=\v!fit,
+ \c!distance=1em,
+ \c!symbol=dash]
+
+% Elements
+
+\unexpanded\long\def\definecorrespondenceelement[#1][#2][#3][#4]#5%
+ {\long\setvalue{\????correspondenceelement:#1:#2:#3:#4}{#5}}
+
+\unexpanded\def\placecorrespondenceelement[#1][#2][#3][#4]%
+ {\correspondenceparameters{#1}{#3}{#2}%
+ \executeifdefined{\????correspondenceelement:#1:#2:#3:#4}{\getvalue{\????correspondenceelement:#1:#2:#3:\s!default}}}
+
+% Files
+
+\unexpanded\def\loadcorrespondencefile[#1][#2]%
+ {\processaction
+ [\currentcorrespondence]
+ [ \v!letter=>\let\doloadcorrespondencefile\doloadletterfile ,
+ \v!memo=>\let\doloadcorrespondencefile\doloadmemofile ,
+ \s!unknown=>\let\doloadcorrespondencefile\gobbleoneargument]%
+ \processcommalist[#2]\doloadcorrespondencefile}
+
+\def\doloadletterfile#1%
+ {\donefalse
+ \def\dodoloadletterfile##1%
+ {\ifdone \else
+ \startreadingfile
+ \readfile{##1}\donetrue\donefalse
+ \stopreadingfile
+ \fi}%
+ \dodoloadletterfile{letter-imp-#1.mkii}%
+ \dodoloadletterfile{letter-imp-#1.tex}%
+ \dodoloadletterfile{letter-#1.mkii}%
+ \dodoloadletterfile{letter-#1.tex}%
+ \ifdone \else
+ % style not found
+ \fi}
+
+\def\doloadmemofile#1%
+ {\donefalse
+ \def\dodoloadmemofile##1%
+ {\ifdone \else
+ \startreadingfile
+ \readfile{##1}\donetrue\donefalse
+ \stopreadingfile
+ \fi}%
+ \dodoloadmemofile{memo-imp-#1.mkii}%
+ \dodoloadmemofile{memo-imp-#1.tex}%
+ \dodoloadmemofile{memo-#1.mkii}%
+ \dodoloadmemofile{memo-#1.tex}%
+ \ifdone \else
+ % style not found
+ \fi}
+
+% Style
+
+\def\correspondencestyleparameter
+ {\namedcorrespondencestyleparameter\currentcorrespondencestyle}
+
+\def\namedcorrespondencestyleparameter#1#2%
+ {\csname
+ \ifcsname\????correspondencestyle#1#2\endcsname
+ \????correspondencestyle#1#2%
+ \else\ifcsname\????correspondencestyle#2\endcsname
+ \????correspondencestyle#2%
+ \else
+ \s!empty
+ \fi\fi
+ \endcsname}
+
+\unexpanded\def\setupcorrespondencestyle[#1][#2][#3]%
+ {\def\dosetupcorrespondencestyle##1%
+ {\edef\currentcorrespondencestyle{#1:##1}%
+ \setupcurrentcorrespondencestyle[#3]}%
+ \processcommalist[#2]\dosetupcorrespondencestyle}
+
+\unexpanded\def\setupcurrentcorrespondencestyle
+ {\getparameters[\????correspondencestyle\currentcorrespondencestyle]}
+
+\unexpanded\def\correspondencestylewidth#1#2#3%
+ {\edef\currentcorrespondencestyle{#1:#2}%
+ \edef\currentcorrespondencestylewidth{\correspondencestyleparameter\c!width}%
+ \hbox \ifx\currentcorrespondencestylewidth\empty \else to \correspondencestyleparameter\c!width \fi{#3\hss}}
+
+%D \section{Layout}
+%D
+%D \startitemize[packed]
+%D \item firstpage and
+%D \item secondpage.
+%D \stopitemize
+
+\newcount\correspondencepage
+
+\appendtoks
+ \setuplayout[\????correspondencelayout\currentcorrespondence\v!firstpage]%
+ \global\correspondencepage\plusone
+\to \everybeforecorrespondence
+
+\appendtoks
+ \everyaftershipout\expandafter{\the\everyaftershipout\setuplayout[\????correspondencelayout\currentcorrespondence\v!secondpage]}%
+ \everyaftershipout\expandafter{\the\everyaftershipout\global\advance\correspondencepage\plusone }%
+\to \everybeforecorrespondence
+
+\unexpanded\def\definecorrespondencelayout[#1][#2]%
+ {\def\currentcorrespondencelayout{#1#2}%
+ \definelayout[\????correspondencelayout\currentcorrespondencelayout]}
+
+\unexpanded\def\setupcorrespondencelayout[#1][#2][#3]%
+ {\def\dosetupcorrespondencelayout##1%
+ {\def\currentcorrespondencelayout{#1##1}%
+ \setuplayout[\????correspondencelayout\currentcorrespondencelayout][#3]}%
+ \processcommalist[#2]\dosetupcorrespondencelayout}
+
+\appendtoks
+ \definecorrespondencelayout[\currentcorrespondence][\v!firstpage ]%
+ \definecorrespondencelayout[\currentcorrespondence][\v!secondpage]%
+\to \everydefinecorrespondence
+
+% Lists
+
+\unexpanded\def\definecorrespondenceelements[#1][#2][#3]%
+ {\setvalue{\????correspondenceelement:#1:#2}{#3}}
+
+\def\accesscorrespondenceelements#1#2%
+ {\executeifdefined{\????correspondenceelement:#1:#2}\empty}
+
+% Extras
+
+\definesymbol[\v!cutmark][{\blackrule[\c!width=4mm,\c!height=\linewidth]}]
+
+\defineblankmethod[\v!samepage]{\penalty\!!tenthousand}
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkvi b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkvi
new file mode 100644
index 0000000000..9e06a46858
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-00.mkvi
@@ -0,0 +1,1059 @@
+%D \module
+%D [ file=s-cor-00,
+%D version=2015.08.24,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Correspondence,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+% Lua functions for the core and also for the frontend modules
+
+\ctxloadluafile{s-cor-00}
+
+% Constants and variables
+
+\startinterface all
+ \setinterfaceconstant {whitespace} {whitespace}
+ \setinterfaceconstant {backgroundimage} {backgroundimage}
+ \setinterfaceconstant {fromname} {fromname}
+ \setinterfaceconstant {fromaddress} {fromaddress}
+ \setinterfaceconstant {attention} {attention}
+ \setinterfaceconstant {subject} {subject}
+ \setinterfaceconstant {closing} {closing}
+ \setinterfaceconstant {signature} {signature}
+ \setinterfaceconstant {copy} {copy}
+ \setinterfaceconstant {enclosure} {enclosure}
+ \setinterfaceconstant {postscript} {postscript}
+ \setinterfaceconstant {dispatch} {dispatch}
+ \setinterfaceconstant {toname} {toname}
+ \setinterfaceconstant {toaddress} {toaddress}
+ \setinterfaceconstant {backaddress} {backaddress}
+ \setinterfaceconstant {opening} {opening}
+ \setinterfaceconstant {fromphone} {fromphone}
+ \setinterfaceconstant {fromfax} {fromfax}
+ \setinterfaceconstant {frommail} {frommail}
+ \setinterfaceconstant {fromurl} {fromurl}
+ \setinterfaceconstant {salutation} {salutation}
+ \setinterfaceconstant {language} {language}
+ \setinterfaceconstant {leftalign} {leftalign}
+ \setinterfaceconstant {rightalign} {rightalign}
+ \setinterfaceconstant {datestyle} {datestyle}
+ \setinterfaceconstant {datecolor} {datecolor}
+ \setinterfaceconstant {subtitlestyle} {subtitlestyle}
+ \setinterfaceconstant {subtitlecolor} {subtitlecolor}
+ \setinterfaceconstant {street} {street}
+ \setinterfaceconstant {city} {city}
+ \setinterfaceconstant {phone} {phone}
+ \setinterfaceconstant {email} {email}
+ \setinterfaceconstant {bankname} {bankname}
+ \setinterfaceconstant {banknumber} {banknumber}
+ \setinterfaceconstant {accountnumber} {accountnumber}
+ \setinterfaceconstant {room} {room}
+ \setinterfaceconstant {yourref} {yourref}
+ \setinterfaceconstant {yourmail} {yourmail}
+ \setinterfaceconstant {myref} {myref}
+ \setinterfaceconstant {mymail} {mymail}
+ \setinterfaceconstant {customer} {customer}
+ \setinterfaceconstant {invoice} {invoice}
+ \setinterfaceconstant {fax} {fax}
+ \setinterfaceconstant {url} {url}
+ \setinterfaceconstant {bank} {bank}
+ \setinterfaceconstant {organization} {organization}
+ \setinterfaceconstant {zip} {zip}
+ \setinterfaceconstant {country} {country}
+ \setinterfaceconstant {addressentry} {addressentry}
+ \setinterfaceconstant {rulewidth} {rulewidth}
+\stopinterface
+
+\startinterface all
+ % all
+ \setinterfacevariable {correspondence} {correspondence}
+ \setinterfacevariable {nexthead} {nexthead}
+ \setinterfacevariable {lefthead} {lefthead}
+ \setinterfacevariable {righthead} {righthead}
+ \setinterfacevariable {foot} {foot}
+ \setinterfacevariable {nextfoot} {nextfoot}
+ \setinterfacevariable {leftfoot} {leftfoot}
+ \setinterfacevariable {rightfoot} {rightfoot}
+ \setinterfacevariable {topmark} {topmark}
+ \setinterfacevariable {botmark} {botmark}
+ \setinterfacevariable {cutmark} {cutmark}
+ \setinterfacevariable {endmark} {endmark}
+ \setinterfacevariable {usermark} {usermark}
+ % letter
+ \setinterfacevariable {letter} {letter}
+ \setinterfacevariable {lettermain} {lettermain}
+ \setinterfacevariable {letternext} {letternext}
+ \setinterfacevariable {address} {address}
+ \setinterfacevariable {backaddress} {backaddress}
+ \setinterfacevariable {location} {location}
+ \setinterfacevariable {opening} {opening}
+ \setinterfacevariable {closing} {closing}
+ \setinterfacevariable {secondpage} {secondpage}
+ \setinterfacevariable {copy} {copy}
+ \setinterfacevariable {enclosure} {enclosure}
+ \setinterfacevariable {french} {french}
+ \setinterfacevariable {specialnotation} {specialnotation}
+ \setinterfacevariable {e} {e}
+ \setinterfacevariable {place} {place}
+ \setinterfacevariable {gbrief} {gbrief}
+ \setinterfacevariable {fullblock} {fullblock}
+ \setinterfacevariable {semiblock} {semiblock}
+ \setinterfacevariable {simplified} {simplified}
+ \setinterfacevariable {modified} {modified}
+ \setinterfacevariable {blockstyle} {blockstyle}
+ \setinterfacevariable {knuth} {knuth}
+ \setinterfacevariable {generic} {generic}
+ % memo
+ \setinterfacevariable {memo} {memo}
+ \setinterfacevariable {memomain} {memomain}
+ \setinterfacevariable {memonext} {memonext}
+ % resume
+ \setinterfacevariable {resume} {resume}
+ \setinterfacevariable {resumemain} {resumemain}
+ \setinterfacevariable {resumenext} {resumenext}
+ \setinterfacevariable {casual} {casual}
+ \setinterfacevariable {classic} {classic}
+ % frames
+ \setinterfacevariable {frames} {frames}
+ \setinterfacevariable {framesmain} {framesmain}
+ \setinterfacevariable {framesnext} {framesnext}
+\stopinterface
+
+% Messages
+
+\definemessageconstant {correspondence}
+
+\startinterface all
+ \setinterfacemessage{correspondence}{title}{correspondence}
+ \setinterfacemessage{correspondence}{1} {Undefined layer '--' for the '--' environment}
+ \setinterfacemessage{correspondence}{2} {Undefined section '--' for the '--' environment}
+ \setinterfacemessage{correspondence}{3} {Undefined description '--' for the '--' environment}
+\stopinterface
+
+% Namespaces
+
+\installnamespace {correspondence}
+\installnamespace {correspondencebuffer}
+\installnamespace {correspondenceoverlay}
+\installnamespace {correspondencelayer}
+\installnamespace {correspondencelayerrenderings}
+\installnamespace {correspondencelayeralternative}
+\installnamespace {correspondencelayerstate}
+\installnamespace {correspondenceframe}
+\installnamespace {correspondencesection}
+\installnamespace {correspondencesectionrenderings}
+\installnamespace {correspondencesectionalternative}
+\installnamespace {correspondenceoption}
+\installnamespace {correspondencedescription}
+\installnamespace {correspondencedescriptionlocation}
+\installnamespace {correspondencedescriptionformat}
+\installnamespace {correspondencestyle}
+\installnamespace {correspondenceelement}
+\installnamespace {correspondencelayout}
+\installnamespace {correspondencehead}
+\installnamespace {correspondenceheadbuffer}
+\installnamespace {correspondenceheadrenderings}
+\installnamespace {correspondenceheadalternative}
+\installnamespace {correspondenceparagraph}
+\installnamespace {correspondenceparagraphbuffer}
+\installnamespace {correspondenceparagraphrenderings}
+\installnamespace {correspondenceparagraphalternative}
+\installnamespace {correspondenceparagraphsetups}
+
+% Itemgroup
+
+\defineitemgroup[\v!correspondence]
+
+% Environment
+
+\installcommandhandler \????correspondence {correspondence} \????correspondence
+
+\unexpanded\def\correspondence_start[#environment]%
+ {\starttext
+ \begingroup
+ \def\currentcorrespondence{#environment}%
+ \dosingleempty\correspondence_start_parameters}
+
+\def\correspondence_start_parameters[#parameters]%
+ {\iffirstargument
+ \setupcurrentcorrespondence[#parameters]%
+ \fi
+ \grabbufferdatadirect{\????correspondencebuffer\currentcorrespondence}{\e!start\currentcorrespondence}{\e!stop\currentcorrespondence}}
+
+\unexpanded\def\correspondence_stop[#environment]%
+ {\correspondence_place[#environment]%
+ \endgroup
+ \stoptext}
+
+\appendtoks
+ \setuevalue{\e!start\currentcorrespondence}{\correspondence_start[\currentcorrespondence]}%
+ \setuevalue{\e!stop \currentcorrespondence}{\correspondence_stop [\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+\unexpanded\def\correspondence_content_start[#environment]%
+ {\begingroup
+ \edef\currentcorrespondence{#environment}%
+ \grabbufferdatadirect{\????correspondencebuffer\currentcorrespondence}{\e!start\currentcorrespondence\v!content}{\e!stop\currentcorrespondence\v!content}}
+
+\unexpanded\def\correspondence_content_stop[#environment]%
+ {\endgroup}
+
+\unexpanded\def\correspondence_content_get[#environment]%
+ {\edef\currentcorrespondence{#environment}%
+ \getbufferdata[\????correspondencebuffer\currentcorrespondence]}
+
+\appendtoks
+ \setuevalue{\e!start\currentcorrespondence\v!content}{\correspondence_content_start[\currentcorrespondence]}%
+ \setuevalue{\e!stop \currentcorrespondence\v!content}{\correspondence_content_stop [\currentcorrespondence]}%
+ \setuevalue{\e!get \currentcorrespondence\v!content}{\correspondence_content_get [\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+\unexpanded\def\correspondence_parameters#environment#element%
+ {\edef\currentcorrespondenceenvironment{#environment}%
+ \edef\currentcorrespondenceelement {#element}%
+ \edef\currentcorrespondencelayer {#environment:#element}%
+ \edef\currentcorrespondenceframe {#environment:#element}%
+ \edef\currentcorrespondencesection {#environment:#element}%
+ \edef\currentcorrespondencedescription{#environment:#element}%
+ \edef\currentcorrespondencehead {#environment:#element}%
+ \edef\currentcorrespondenceparagraph {#environment:#element}}
+
+% Setup
+
+\unexpanded\def\correspondence_setup[#environment]%
+ {\edef\currentcorrespondence{#environment}%
+ \setupcurrentcorrespondence}
+
+\appendtoks
+ \setuevalue{\e!setup\currentcorrespondence\e!endsetup}{\dodoubleargument\correspondence_setup[\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+% Placement
+
+\newtoks\t_correspondence_before
+\newtoks\t_correspondence_between
+\newtoks\t_correspondence_after
+
+% \unexpanded\def\correspondence_place[#environment]%
+% {\begingroup
+% \edef\currentcorrespondence{#environment}%
+% \let \currentcorrespondenceoption\currentcorrespondence
+% \ctxlua{thirddata.correspondence.place("\currentcorrespondence", {
+% bodyfont = "\correspondenceoptionparameter\c!bodyfont",
+% whitespace = "\correspondenceoptionparameter\c!whitespace",
+% interlinespace = "\correspondenceoptionparameter\c!interlinespace",
+% language = "\correspondenceoptionparameter\c!language",
+% backgroundcolor = "\correspondenceoptionparameter\c!backgroundcolor",
+% } )}%
+% \endgroup}
+
+\unexpanded\def\correspondence_place[#environment]%
+ {\begingroup
+ \edef\currentcorrespondence{#environment}%
+ \let \currentcorrespondenceoption\currentcorrespondence
+ \the\t_correspondence_before
+ \page
+ \setuplayout[\c!method=\v!correspondence]%
+ \setupheader[\c!state=\v!stop]%
+ \setupfooter[\c!state=\v!stop]%
+ \edef\p_correspondence_bodyfont {\correspondenceoptionparameter\c!bodyfont }%
+ \edef\p_correspondence_whitespace {\correspondenceoptionparameter\c!whitespace }%
+ \edef\p_correspondence_interlinespace {\correspondenceoptionparameter\c!interlinespace }%
+ \edef\p_correspondence_language {\correspondenceoptionparameter\c!language }%
+ \edef\p_correspondence_backgroundcolor{\correspondenceoptionparameter\c!backgroundcolor}%
+ \ifx\p_correspondence_bodyfont \empty \else \setupbodyfont [\p_correspondence_bodyfont ]\fi
+ \ifx\p_correspondence_whitespace \empty \else \setupwhitespace [\p_correspondence_whitespace ]\fi
+ \ifx\p_correspondence_interlinespace \empty \else \setupinterlinespace[\p_correspondence_interlinespace]\fi
+ \ifx\p_correspondence_language \empty \else \mainlanguage [\p_correspondence_language ]\fi
+ \the\t_correspondence_between
+ \ifx\p_correspondence_backgroundcolor\empty \else
+ \setupbackgrounds[\v!paper][\c!background=\v!color,\c!backgroundcolor=\p_correspondence_backgroundcolor]%
+ \fi
+ \setupbackgrounds[\v!page ][\c!background={\????correspondenceoverlay\c!backgroundimage,\????correspondenceoverlay\c!background,\????correspondenceoverlay\v!layer}]%
+ \setuppagenumbering[\c!alternative=\v!singlesided,\c!location=]%
+ \setupsubpagenumber[\c!way=\v!text,\c!state=\v!start]%
+ \resetsubpagenumber
+ \normalexpanded{\processcommalist[\correspondence_elements_access\currentcorrespondence\v!section]}{\correspondence_section_place\currentcorrespondence}%
+ \page
+ \resetsubpagenumber
+ \setuplayout[\v!reset]%
+ \the\t_correspondence_after
+ \endgroup}
+
+%D Besides the normal letter environment there are three different ways to flush
+%D the content of a letter after the text was set with a buffer etc.
+%D
+%D \startitemize
+%D \item \type{\setups[letter:place]}
+%D \item \type{\placeletter}
+%D \item \type{\placecorrespondence[letter]}
+%D \stopitemize
+
+\let\placecorrespondence\correspondence_place
+
+\appendtoks
+ \global\c_correspondence_page\zerocount
+\to \t_correspondence_before
+
+\appendtoks
+ \setuevalue{\e!place\currentcorrespondence}{\correspondence_place[\currentcorrespondence]}%
+\to \everydefinecorrespondence
+
+% Layers
+
+\installsimplecommandhandler \????correspondencelayer {correspondencelayer} \????correspondencelayer
+\installsimpleframedcommandhandler \????correspondenceframe {correspondenceframe} \????correspondenceframe
+\installcommandhandler \????correspondencelayeralternative {correspondencelayeralternative} \????correspondencelayeralternative
+
+\unexpanded\def\correspondence_layer_define[#environment][#element]%
+ {\def\currentcorrespondencelayer{#environment:#element}%
+ \let\currentcorrespondenceframe\currentcorrespondencelayer
+ \checkcorrespondencelayerparent
+ \checkcorrespondenceframeparent}
+
+\unexpanded\def\correspondence_layer_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_layer_command#element%
+ {\edef\currentcorrespondencelayer{#environment:#element}%
+ \setupcurrentcorrespondencelayer[#parameters]}%
+ \processcommacommand[#elements]\correspondence_layer_command}
+
+\unexpanded\def\correspondence_frame_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_frame_command#element%
+ {\edef\currentcorrespondenceframe{#environment:#element}%
+ \setupcurrentcorrespondenceframe[#parameters]}%
+ \processcommacommand[#elements]\correspondence_frame_command}
+
+\setvalue{\????correspondencelayerstate }{\!!doneafalse \!!donebfalse \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!start }{\!!doneatrue \!!donebfalse \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!stop }{\!!doneafalse \!!donebfalse \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!next }{\!!doneafalse \!!donebtrue \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!repeat}{\!!doneatrue \!!donebtrue \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!left }{\!!doneafalse \!!donebfalse \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!right }{\!!doneafalse \!!donebtrue \!!donecfalse}
+\setvalue{\????correspondencelayerstate\v!even }{\!!doneafalse \!!donebfalse \!!donectrue }
+\setvalue{\????correspondencelayerstate\v!odd }{\!!doneafalse \!!donebtrue \!!donecfalse}
+
+\definelayer [\????correspondenceoverlay\v!layer][\c!width=\overlaywidth,\c!height=\overlayheight ]
+\defineoverlay[\????correspondenceoverlay\v!layer][\correspondence_layer_place\currentcorrespondence]
+
+\unexpanded\def\correspondence_layer_place#environment%
+ {\def\correspondence_layer_state#element%
+ {\correspondence_parameters{#environment}{#element}%
+ \expandcheckedcsname\????correspondencelayerstate{\correspondencelayerparameter\c!state}\v!stop
+ \ifnum\c_correspondence_page=\plusone
+ \if!!donea\correspondence_layer_direct\fi
+ \else\ifodd\c_correspondence_page
+ \if!!doneb\correspondence_layer_direct\fi
+ \else
+ \if!!donec\correspondence_layer_direct\fi
+ \fi\fi}%
+ \processcommacommand[\correspondence_elements_access\currentcorrespondence\v!layer]\correspondence_layer_state
+ \tightlayer[\????correspondenceoverlay\v!layer]}
+
+\unexpanded\def\correspondence_layer_direct
+ {\setlayer
+ [\????correspondenceoverlay\v!layer]
+ [ \c!x=\correspondencelayerparameter\c!x,
+ \c!y=\correspondencelayerparameter\c!y,
+ \c!preset=\correspondencelayerparameter\c!preset]
+ {\inheritedcorrespondenceframeframed
+ {\doifsomething{\correspondencelayerparameter\c!bodyfont }{\switchtobodyfont [\correspondencelayerparameter\c!bodyfont ]}%
+ \doifsomething{\correspondencelayerparameter\c!interlinespace}{\setupinterlinespace[\correspondencelayerparameter\c!interlinespace]}%
+ \usecorrespondencelayerstyleandcolor\c!style\c!color
+ \doadaptleftskip {\correspondencelayerparameter\c!leftmargin }%
+ \doadaptrightskip{\correspondencelayerparameter\c!rightmargin}%
+ \doifsymboldefinedelse{\correspondencelayerparameter\c!symbol}%
+ {\symbol[\correspondencelayerparameter\c!symbol]}
+ {\correspondence_layer_alternative_place}}}}
+
+\unexpanded\def\correspondence_layer_check[#environment][#element]%
+ {\def\currentcorrespondencelayer{#environment:#element}%
+ \ifcsname\currentcorrespondencelayerhash\s!parent\endcsname \else
+ \showmessage\m!correspondence{2}{#element,#environment}%
+ \fi}
+
+\unexpanded\def\correspondence_layer_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondencelayeralternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondencelayeralternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_layer_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondencelayeralternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_layer_alternative_place
+ {\edef\p_correspondence_layer_alternative{\correspondencelayerparameter\c!alternative}%
+ \ifcsname\namedcorrespondencelayeralternativehash{\currentcorrespondencelayer:\p_correspondence_layer_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencelayeralternative{\currentcorrespondencelayer:\p_correspondence_layer_alternative}%
+ \else\ifcsname\namedcorrespondencelayeralternativehash{\currentcorrespondenceenvironment:\p_correspondence_layer_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencelayeralternative{\currentcorrespondenceenvironment:\p_correspondence_layer_alternative}%
+ \else
+ \let\currentcorrespondencelayeralternative\p_correspondence_layer_alternative
+ \fi\fi
+ \edef\p_correspondence_layer_renderingsetup{\correspondencelayeralternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_layer_renderingsetup}
+
+\definecorrespondencelayeralternative[\v!setups][\c!renderingsetup=\????correspondencelayerrenderings:\v!setups]
+
+\startsetups[\????correspondencelayerrenderings:\v!setups]
+ \autosetups{\currentcorrespondenceenvironment:\v!layer:\currentcorrespondenceelement}
+\stopsetups
+
+\setupcorrespondencelayer
+ [ \c!state=\v!start,
+ \c!x=\zeropoint,
+ \c!y=\zeropoint,
+ \c!alternative=\s!default,
+ \c!distance=\lineheight,
+ \c!separator=\crlf]
+
+\setupcorrespondenceframe
+ [ \c!frame=\v!off,
+ \c!offset=\zeropoint,
+ \c!align=\v!flushleft]
+
+% Sections
+
+\installsimplecommandhandler \????correspondencesection {correspondencesection} \????correspondencesection
+\installcommandhandler \????correspondencesectionalternative {correspondencesectionalternative} \????correspondencesectionalternative
+
+\unexpanded\def\correspondence_section_define[#environment][#element]%
+ {\def\currentcorrespondencesection{#environment:#element}%
+ \checkcorrespondencesectionparent}
+
+\unexpanded\def\correspondence_section_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_section_command#element%
+ {\edef\currentcorrespondencesection{#environment:#element}%
+ \setupcurrentcorrespondencesection[#parameters]}%
+ \processcommacommand[#elements]\correspondence_section_command}
+
+\unexpanded\def\correspondence_section_place#environment#element%
+ {\begingroup
+ \correspondence_parameters{#environment}{#element}%
+ \ifcsname\currentcorrespondencesectionhash\s!parent\endcsname
+ \doifsomethingelse{\correspondencesectionparameter\c!spacebefore}{\blank[\correspondencesectionparameter\c!spacebefore]}\endgraf
+ \correspondencesectionparameter\c!before
+ \doadaptleftskip {\correspondencesectionparameter\c!leftmargin }%
+ \doadaptrightskip{\correspondencesectionparameter\c!rightmargin}%
+ \doifsomething{\correspondencesectionparameter\c!align }{\setupalign [\correspondencesectionparameter\c!align ]}%
+ \doifsomething{\correspondencesectionparameter\c!indenting}{\setupindenting[\correspondencesectionparameter\c!indenting]}%
+ \usecorrespondencesectionstyleandcolor\c!style\c!color
+ \correspondence_section_alternative_place
+ \correspondencesectionparameter\c!after
+ \doifsomethingelse{\correspondencesectionparameter\c!spaceafter }{\blank[\correspondencesectionparameter\c!spaceafter ]}\endgraf
+ \else
+ \showmessage\m!correspondence{2}{#element,#environment}%
+ \fi
+ \endgroup}
+
+\unexpanded\def\correspondence_section_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondencesectionalternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondencesectionalternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_section_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondencesectionalternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_section_alternative_place
+ {\edef\p_correspondence_section_alternative{\correspondencesectionparameter\c!alternative}%
+ \ifcsname\namedcorrespondencesectionalternativehash{\currentcorrespondencesection:\p_correspondence_section_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencesectionalternative{\currentcorrespondencelayer:\p_correspondence_section_alternative}%
+ \else\ifcsname\namedcorrespondencesectionalternativehash{\currentcorrespondenceenvironment:\p_correspondence_section_alternative}\s!parent\endcsname
+ \edef\currentcorrespondencesectionalternative{\currentcorrespondenceenvironment:\p_correspondence_section_alternative}%
+ \else
+ \let\currentcorrespondencesectionalternative\p_correspondence_section_alternative
+ \fi\fi
+ \edef\p_correspondence_section_renderingsetup{\correspondencesectionalternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_section_renderingsetup}
+
+\definecorrespondencesectionalternative[\v!setups][\c!renderingsetup=\????correspondencesectionrenderings:\v!setups]
+
+\startsetups[\????correspondencesectionrenderings:\v!setups]
+ \autosetups{\currentcorrespondenceenvironment:\v!section:\currentcorrespondenceelement}
+\stopsetups
+
+\setupcorrespondencesection
+ [ \c!spacebefore=\v!line,
+ \c!spaceafter=\v!line,
+ \c!spaceinbetween={\v!samepage,\v!line},
+ \c!alternative=\s!default,
+ \c!separator=\crlf]
+
+% Options
+
+\installsimplecommandhandler \????correspondenceoption {correspondenceoption} \????correspondenceoption
+
+\unexpanded\def\correspondence_option_setup[#environment]%
+ {\edef\currentcorrespondenceoption{#environment}%
+ \setupcurrentcorrespondenceoption}%
+
+\defineoverlay
+ [\????correspondenceoverlay\c!backgroundimage]
+ [\doifsomething{\correspondenceoptionparameter\c!backgroundimage}
+ {\overlayfigure{\correspondenceoptionparameter\c!backgroundimage}}]
+
+\defineoverlay
+ [\????correspondenceoverlay\c!background]
+ [\correspondenceoptionparameter\c!background]
+
+% Descriptions
+
+\installsimplecommandhandler \????correspondencedescription {correspondencedescription} \????correspondencedescription
+\installcommandhandler \????correspondencedescriptionalternative {correspondencedescriptionalternative} \????correspondencedescriptionalternative
+
+\let\m_correspondence_description_format\empty
+\let\m_correspondence_description_items \empty
+
+\unexpanded\def\correspondence_description_define[#environment][#element]%
+ {\def\currentcorrespondencedescription{#environment:#element}%
+ \checkcorrespondencedescriptionparent}
+
+\unexpanded\def\correspondence_description_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_description_command#element%
+ {\edef\currentcorrespondencedescription{#environment:#element}
+ \setupcurrentcorrespondencedescription[#parameters]}%
+ \processcommacommand[#elements]\correspondence_description_command}
+
+\unexpanded\def\correspondence_description_place#environment#element%
+ {\begingroup
+ \correspondence_parameters{#environment}{#element}%
+ \ifcsname\currentcorrespondencedescriptionhash\s!parent\endcsname
+ \doifsomethingelse{\correspondencedescriptionparameter\c!textcommand}\donetrue\donefalse
+ \ifdone
+ \doifsomethingelse{\correspondencedescriptionparameter\c!spacebefore}{\blank[\correspondencedescriptionparameter\c!spacebefore]}\endgraf
+ \correspondencedescriptionparameter\c!before
+ \setbox\scratchbox\hbox
+ {\usecorrespondencedescriptionstyleandcolor\c!headstyle\c!headcolor
+ \correspondencedescriptionparameter\c!headcommand}%
+ \assignwidth
+ {\correspondencedescriptionparameter\c!width}
+ {\scratchdimen}
+ {\unhcopy\scratchbox}
+ {\correspondencedescriptionparameter\c!distance}%
+ \ctxlua{thirddata.correspondence.description_split(\!!bs\correspondencedescriptionparameter\c!textcommand\!!es)}%
+ \expandcheckedcsname\????correspondencedescriptionlocation{\correspondencedescriptionparameter\c!location}\v!left
+ \correspondencedescriptionparameter\c!after
+ \doifsomethingelse{\correspondencedescriptionparameter\c!spaceafter}{\blank[\correspondencedescriptionparameter\c!spaceafter]}\endgraf
+ \fi
+ \else
+ \showmessage\m!correspondence{3}{#element,#environment}%
+ \fi
+ \endgroup}
+
+% \unexpanded\def\correspondence_description_alternative_define[#environment][#self][#parent][#parameters]%
+% {\iffourthargument
+% \definecorrespondencedescriptionalternative[#environment:#self][#environment:#parent][#parameters]%
+% \else
+% \definecorrespondencedescriptionalternative[#environment:#self][#parent]%
+% \fi}
+%
+% \unexpanded\def\correspondence_description_alternative_setup[#environment][#name][#parameters]%
+% {\setupcorrespondencedescriptionalternative[#environment:#name][#parameters]}
+%
+% \unexpanded\def\correspondence_description_alternative_place
+% {\edef\p_correspondence_description_alternative{\correspondencedescriptionparameter\c!alternative}%
+% \ifcsname\namedcorrespondencedescriptionalternativehash{\currentcorrespondencedescription:\p_correspondence_description_alternative}\s!parent\endcsname
+% \edef\currentcorrespondencedescriptionalternative{\currentcorrespondencedescription:\p_correspondence_description_alternative}%
+% \else\ifcsname\namedcorrespondencedescriptionalternativehash{\currentcorrespondenceenvironment:\p_correspondence_description_alternative}\s!parent\endcsname
+% \edef\currentcorrespondencedescriptionalternative{\currentcorrespondenceenvironment:\p_correspondence_description_alternative}%
+% \else
+% \let\currentcorrespondencedescriptionalternative\p_correspondence_description_alternative
+% \fi\fi
+% \edef\p_correspondence_description_renderingsetup{\correspondencedescriptionalternativeparameter\c!renderingsetup}%
+% \autosetups\p_correspondence_description_renderingsetup}
+
+\setvalue{\????correspondencedescriptionlocation\v!left}%
+ {\doadaptleftskip\scratchdimen
+ \setbox\scratchbox\hbox to \scratchdimen{\box\scratchbox\hss}%
+ \noindent\llap{\box\scratchbox}\correspondence_description_place_text}
+
+\setvalue{\????correspondencedescriptionlocation\v!top}%
+ {\noindent\box\scratchbox
+ \doifsomethingelse{\correspondencedescriptionparameter\c!spaceinbetween}
+ {\blank[\correspondencedescriptionparameter\c!spaceinbetween]}
+ {\nobreak\endgraf}%
+ \doadaptleftskip {\correspondencedescriptionparameter\c!leftmargin }%
+ \doadaptrightskip{\correspondencedescriptionparameter\c!rightmargin}%
+ \correspondence_description_place_text}
+
+\setvalue{\????correspondencedescriptionlocation\v!text}%
+ {\noindent\box\scratchbox\correspondence_description_place_text}
+
+\unexpanded\def\correspondence_description_place_text
+ {\expandcheckedcsname\????correspondencedescriptionformat\m_correspondence_description_format\v!none}
+
+\setvalue{\????correspondencedescriptionformat\v!list}% todo: use a simplified version of the itemize code
+ {\def\correspondence_description_format_item#text{\startitem#text\stopitem}%
+ \dontleavehmode\vtop\bgroup
+ \leftskip\zeropoint % prevent additional offset when “location=left” is used
+ \doif{\correspondencedescriptionparameter\c!symbol}\v!none{\setupitemgroup[\v!correspondence][\v!each][\c!width=\zeropoint,distance=\zeropoint]}%
+ \startitemgroup[\v!correspondence][\v!packed,\correspondencedescriptionparameter\c!symbol]%
+ \processcommacommand[\m_correspondence_description_items]\correspondence_description_format_item
+ \stopitemgroup
+ \egroup}
+
+\setvalue{\????correspondencedescriptionformat\v!none}%
+ {\m_correspondence_description_items}
+
+% \def\correspondence_description_item#text%
+% {\begingroup
+% \setbox\scratchbox\hbox
+% {\usecorrespondencedescriptionstyleandcolor\c!symbolstyle\c!symbolcolor
+% \symbol{\correspondencedescriptionparameter\c!symbol}}%
+% \assignwidth
+% {\correspondencedescriptionparameter\c!symbolwidth}
+% {\scratchdimen}
+% {\unhcopy\scratchbox}
+% {\correspondencedescriptionparameter\c!symboldistance}%
+% \endgroup}
+
+\setupcorrespondencedescription
+ [ \c!width=\v!fit,
+ \c!distance=1em,
+ \c!symbol=dash]
+
+% Paragraphs
+
+\installsimplecommandhandler \????correspondenceparagraph {correspondenceparagraph} \????correspondenceparagraph
+\installcommandhandler \????correspondenceparagraphalternative {correspondenceparagraphalternative} \????correspondenceparagraphalternative
+
+% \newtoks\t_correspondence_paragraphs
+%
+% \appendtoks
+% \the\t_correspondence_paragraphs
+% \to \t_correspondence_before
+%
+% \unexpanded\def\correspondence_paragraph_define[#environment][#element]%
+% {\def\currentcorrespondenceparagraph{#environment:#element}%
+% \checkcorrespondenceparagraphparent
+% \t_correspondence_paragraphs\expandafter{\the\t_correspondence_paragraphs\correspondence_paragraph_commands[#environment][#element]}}
+
+\unexpanded\def\correspondence_paragraph_define[#environment][#element]%
+ {\def\currentcorrespondenceparagraph{#environment:#element}%
+ \checkcorrespondenceparagraphparent
+ \correspondence_paragraph_commands[#environment][#element]}
+
+\unexpanded\def\correspondence_paragraph_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_paragraph_command#element%
+ {\edef\currentcorrespondenceparagraph{#environment:#element}%
+ \setupcurrentcorrespondenceparagraph[#parameters]}%
+ \processcommacommand[#elements]\correspondence_paragraph_command}
+
+\unexpanded\def\correspondence_paragraph_commands[#environment][#element]%
+ {\setuevalue{\e!start#element}{\correspondence_paragraph_start[#environment][#element]}%
+ \setuevalue{\e!stop #element}{\correspondence_paragraph_stop [#environment][#element]}}
+
+\unexpanded\def\correspondence_paragraph_start[#environment][#element]%
+ {\begingroup
+ \correspondence_parameters{#environment}{#element}%
+ \dodoubleempty\correspondence_paragraph_start_parameters}%
+
+\unexpanded\def\correspondence_paragraph_start_parameters[#parameters][#dummy]% #dummy removes the linebreak before the first line
+ {\iffirstargument
+ \setupcurrentcorrespondenceparagraph[#parameters]%
+ \fi
+ \grabbufferdatadirect{\????correspondenceparagraphbuffer\currentcorrespondenceparagraph}{\e!start\currentcorrespondenceelement}{\e!stop\currentcorrespondenceelement}}
+
+\unexpanded\def\correspondence_paragraph_stop[#environment][#element]%
+ {\doifsomethingelse{\correspondenceparagraphparameter\c!spacebefore}{\blank[\correspondenceparagraphparameter\c!spacebefore]}\endgraf
+ \correspondence_paragraph_alternative_place
+ \doifsomethingelse{\correspondenceparagraphparameter\c!spaceafter }{\blank[\correspondenceparagraphparameter\c!spaceafter ]}\endgraf
+ \endgroup}
+
+\unexpanded\def\correspondence_paragraph_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondenceparagraphalternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondenceparagraphalternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_paragraph_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondenceparagraphalternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_paragraph_alternative_place
+ {\edef\p_correspondence_paragraph_alternative{\correspondenceparagraphparameter\c!alternative}%
+ \ifcsname\namedcorrespondenceparagraphalternativehash{\currentcorrespondenceparagraph:\p_correspondence_paragraph_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceparagraphalternative{\currentcorrespondenceparagraph:\p_correspondence_paragraph_alternative}%
+ \else\ifcsname\namedcorrespondenceparagraphalternativehash{\currentcorrespondenceenvironment:\p_correspondence_paragraph_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceparagraphalternative{\currentcorrespondenceenvironment:\p_correspondence_paragraph_alternative}%
+ \else
+ \let\currentcorrespondenceparagraphalternative\p_correspondence_paragraph_alternative
+ \fi\fi
+ \edef\p_correspondence_paragraph_renderingsetup{\correspondenceparagraphalternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_paragraph_renderingsetup}
+
+\definecorrespondenceparagraphalternative[\s!default ][\c!renderingsetup=\????correspondenceparagraphrenderings:\s!default ]
+\definecorrespondenceparagraphalternative[\v!columns ][\c!renderingsetup=\????correspondenceparagraphrenderings:\v!columns ]
+\definecorrespondenceparagraphalternative[\c!lefttext ][\c!renderingsetup=\????correspondenceparagraphrenderings:\c!lefttext ]
+\definecorrespondenceparagraphalternative[\c!middletext][\c!renderingsetup=\????correspondenceparagraphrenderings:\c!middletext]
+\definecorrespondenceparagraphalternative[\c!righttext ][\c!renderingsetup=\????correspondenceparagraphrenderings:\c!righttext ]
+
+\startsetups[\????correspondenceparagraphrenderings:\s!default]
+ \ifdefined\currentparentcorrespondenceparagraph
+ \getbufferdata[\????correspondenceparagraphbuffer\currentparentcorrespondenceparagraph]
+ \else
+ \getbufferdata[\????correspondenceparagraphbuffer\currentcorrespondenceparagraph ]
+ \fi
+\stopsetups
+
+\newbox \b_correspondence_paragraph
+\newcount\c_correspondence_paragraph
+
+\unexpanded\def\correspondence_paragraph_columns_start
+ {\begingroup
+ \global\c_correspondence_paragraph\zerocount
+ \edef\p_correspondence_paragraph_n {\correspondenceparagraphparameter\c!n }%
+ \edef\p_correspondence_paragraph_distance{\correspondenceparagraphparameter\c!distance}%
+ \letcorrespondenceparagraphparameter\c!alternative\v!default
+ \dontleavehmode\hbox\bgroup}
+
+\unexpanded\def\correspondence_paragraph_columns_stop
+ {\egroup
+ \endgroup}
+
+\unexpanded\def\correspondence_paragraph_columns_place
+ {\begingroup
+ \global\advance\c_correspondence_paragraph\plusone
+ \let\currentparentcorrespondenceparagraph\currentcorrespondenceparagraph
+ \chaintocurrentcorrespondenceparagraph{\currentparentcorrespondenceparagraph:\number\c_correspondence_paragraph}%
+ \edef\currentcorrespondenceparagraph {\currentparentcorrespondenceparagraph:\number\c_correspondence_paragraph}%
+ \edef\p_correspondence_columns_width {\correspondenceparagraphparameter\c!width}%
+ \setbox\b_correspondence_paragraph\vtop\bgroup
+ \ifx\p_correspondence_columns_width\empty \else \hsize\p_correspondence_columns_width \fi
+ \usealignparameter\correspondenceparagraphparameter
+ \begstrut
+ \usecorrespondenceparagraphstyleandcolor\c!style\c!color
+ \correspondence_paragraph_alternative_place
+ \endstrut
+ \egroup
+ \ifzeropt\p_correspondence_columns_width \else
+ \ifnum\c_correspondence_paragraph>\p_correspondence_paragraph_n
+ % more columns are used than specified
+ \else\ifnum\c_correspondence_paragraph=\p_correspondence_paragraph_n
+ \box\b_correspondence_paragraph
+ \else
+ \box\b_correspondence_paragraph
+ \hskip\p_correspondence_paragraph_distance
+ \fi\fi
+ \fi
+ \endgroup}
+
+\startsetups[\????correspondenceparagraphrenderings:\v!columns]
+
+ \correspondence_paragraph_columns_start
+ \dorecurse\p_correspondence_paragraph_n\correspondence_paragraph_columns_place
+ \correspondence_paragraph_columns_stop
+
+\stopsetups
+
+\startsetups[\????correspondenceparagraphrenderings:\c!lefttext]
+
+ \correspondenceparagraphparameter\c!lefttext
+
+\stopsetups
+
+\startsetups[\????correspondenceparagraphrenderings:\c!middletext]
+
+ \correspondenceparagraphparameter\c!middletext
+
+\stopsetups
+
+\startsetups[\????correspondenceparagraphrenderings:\c!righttext]
+
+ \correspondenceparagraphparameter\c!righttext
+
+\stopsetups
+
+\setupcorrespondenceparagraph
+ [\c!spacebefore=\v!line,
+ \c!spaceafter=\v!line,
+ \c!alternative=\s!default,
+ \c!distance=\zeropoint,
+ \c!width=\zeropoint,
+ \c!n=3]
+
+% Heading
+
+\installframedcommandhandler \????correspondencehead {correspondencehead} \????correspondencehead
+\installcommandhandler \????correspondenceheadalternative {correspondenceheadalternative} \????correspondenceheadalternative
+
+\appendtoks
+ \definelist [\currentcorrespondencehead]% \definelist [\????correspondenceheadlist \currentcorrespondencehead]
+ \definemarking[\currentcorrespondencehead]% \definemarking[\????correspondenceheadmarking\currentcorrespondencehead]
+\to \everydefinecorrespondencehead
+
+% \newtoks\t_correspondence_headings
+%
+% \appendtoks
+% \the\t_correspondence_headings
+% \to \t_correspondence_before
+%
+% \unexpanded\def\correspondence_head_define[#environment][#element]%
+% {\def\currentcorrespondencehead{#environment:#element}%
+% \checkcorrespondenceheadparent
+% \t_correspondence_headings\expandafter{\the\t_correspondence_headings\correspondence_head_commands[#environment][#element]}}
+
+\unexpanded\def\correspondence_head_define[#environment][#element]%
+ {\def\currentcorrespondencehead{#environment:#element}%
+ \checkcorrespondenceheadparent
+ \correspondence_head_commands[#environment][#element]}
+
+\unexpanded\def\correspondence_head_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_head_command#element%
+ {\edef\currentcorrespondencehead{#environment:#element}%
+ \setupcurrentcorrespondencehead[#parameters]}%
+ \processcommacommand[#elements]\correspondence_head_command}
+
+\unexpanded\def\correspondence_head_commands[#environment][#element]%
+ {%setuevalue {#element}{\correspondence_head_direct[#environment][#element]}%
+ \setuevalue{\e!start#element}{\correspondence_head_start [#environment][#element]}%
+ \setuevalue{\e!stop #element}{\correspondence_head_stop [#environment][#element]}}
+
+% \unexpanded\def\correspondence_head_direct[#environment][#element]%
+% {\begingroup
+% \correspondence_parameters{#environment}{#element}%
+% \doifnextbgroupelse{\dosinglegroupempty\correspondence_head_direct_argument}{\dosingleempty\correspondence_head_direct_parameters}}
+%
+% \unexpanded\def\correspondence_head_direct_argument#title%
+% {\setcorrespondenceheadparameter\c!title{#title}%
+% \correspondence_head_alternative_place
+% \endgroup}
+%
+% \unexpanded\def\correspondence_head_direct_parameters[#parameters]%
+% {\iffirstargument
+% \setupcurrentcorrespondencehead[#parameters]%
+% \fi
+% \correspondence_head_alternative_place
+% \endgroup}
+
+\unexpanded\def\correspondence_head_start[#environment][#element]%
+ {\begingroup
+ \correspondence_parameters{#environment}{#element}%
+ \dodoubleempty\correspondence_head_start_parameters}
+
+\unexpanded\def\correspondence_head_start_parameters[#parameters][#dummy]%
+ {\iffirstargument
+ \setupcurrentcorrespondencehead[#parameters]%
+ \fi
+ \correspondenceheadparameter\c!beforesection
+ \correspondence_head_alternative_place}
+
+\unexpanded\def\correspondence_head_stop[#environment][#element]%
+ {\correspondenceheadparameter\c!aftersection
+ \endgroup}
+
+\unexpanded\def\correspondence_head_alternative_define[#environment][#self][#parent][#parameters]%
+ {\iffourthargument
+ \definecorrespondenceheadalternative[#environment:#self][#environment:#parent][#parameters]%
+ \else
+ \definecorrespondenceheadalternative[#environment:#self][#parent]%
+ \fi}
+
+\unexpanded\def\correspondence_head_alternative_setup[#environment][#name][#parameters]%
+ {\setupcorrespondenceheadalternative[#environment:#name][#parameters]}
+
+\unexpanded\def\correspondence_head_alternative_place
+ {\edef\p_correspondence_head_alternative{\correspondenceheadparameter\c!alternative}%
+ \ifcsname\namedcorrespondenceheadalternativehash{\currentcorrespondencehead:\p_correspondence_head_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceheadalternative{\currentcorrespondencehead:\p_correspondence_head_alternative}%
+ \else\ifcsname\namedcorrespondenceheadalternativehash{\currentcorrespondenceenvironment:\p_correspondence_head_alternative}\s!parent\endcsname
+ \edef\currentcorrespondenceheadalternative{\currentcorrespondenceenvironment:\p_correspondence_head_alternative}%
+ \else
+ \let\currentcorrespondenceheadalternative\p_correspondence_head_alternative
+ \fi\fi
+ \edef\p_correspondence_section_renderingsetup{\correspondenceheadalternativeparameter\c!renderingsetup}%
+ \autosetups\p_correspondence_section_renderingsetup}
+
+\unexpanded\def\correspondenceheadtitle
+ {\begingroup
+ \usecorrespondenceheadstyleandcolor\c!style\c!color
+ \correspondenceheadparameter\c!textcommand{\begstrut\correspondenceheadparameter\c!title\endstrut}%
+ \endgroup}
+
+\definecorrespondenceheadalternative[\s!default ][\c!renderingsetup=\????correspondenceheadrenderings:\s!default ]
+\definecorrespondenceheadalternative[\v!margin ][\c!renderingsetup=\????correspondenceheadrenderings:\v!margin ]
+\definecorrespondenceheadalternative[\v!inmargin][\c!renderingsetup=\????correspondenceheadrenderings:\v!inmargin]
+
+\startsetups[\????correspondenceheadrenderings:\s!default]
+
+ \edef\p_spacebefore{\correspondenceheadparameter\c!spacebefore}
+ \edef\p_spaceafter {\correspondenceheadparameter\c!spaceafter }
+
+ \ifx\p_spacebefore\empty \else
+ \blank[\p_spacebefore]
+ \fi
+
+ \vbox\bgroup
+ \usealignparameter\correspondenceheadparameter
+ \correspondenceheadtitle
+ \egroup
+
+ \ifx\p_spaceafter\empty \else
+ \blank[\p_spaceafter]
+ \fi
+
+\stopsetups
+
+\startsetups[\????correspondenceheadrenderings:\v!margin]
+
+ \dontleavehmode\llap\bgroup
+ \vtop\bgroup
+ \hsize\leftmarginwidth
+ \usealignparameter\correspondenceheadparameter
+ \correspondenceheadtitle
+ \egroup
+ \hskip\leftmargindistance
+ \egroup
+
+ \blank[\v!overlay]
+
+\stopsetups
+
+\setupcorrespondencehead
+ [ \c!spacebefore=\v!line,
+ \c!spaceafter={\v!samepage,\v!line},
+ \c!alternative=\s!default,
+ \c!align=\v!middle,
+ \c!style=\v!bold]
+
+% Elements
+
+\unexpanded\def\correspondence_element_define[#environment][#type][#element][#name]%
+ {\edef\m_correspondence_element_type{#type}%
+ \ifx\m_correspondence_element_type\v!section
+ \expandafter\correspondence_element_define_section
+ \else
+ \expandafter\correspondence_element_define_layer
+ \fi[#environment][#type][#element][#name]}
+
+\def\correspondence_element_define_section[#environment][#type][#element][#name]#content%
+ {\definecorrespondencesectionalternative[#environment:#element:#name][\c!renderingsetup=\????correspondencesectionrenderings:\v!command]%
+ \setvalue{\????correspondenceelement:#environment:#type:#element:#name}{#content}}
+
+\def\correspondence_element_define_layer[#environment][#type][#element][#name]#content%
+ {\definecorrespondencelayeralternative[#environment:#element:#name][\c!renderingsetup=\????correspondencelayerrenderings:\v!command]%
+ \setvalue{\????correspondenceelement:#environment:#type:#element:#name}{#content}}
+
+\startsetups[\????correspondencesectionrenderings:\v!command]
+ \correspondence_element_place[\currentcorrespondenceenvironment][\v!section][\currentcorrespondenceelement][\correspondencesectionparameter\c!alternative]
+\stopsetups
+
+\startsetups[\????correspondencelayerrenderings:\v!command]
+ \correspondence_element_place[\currentcorrespondenceenvironment][\v!layer][\currentcorrespondenceelement][\correspondencelayerparameter\c!alternative]
+\stopsetups
+
+\unexpanded\def\correspondence_element_place[#environment][#type][#element][#name]%
+ {\expandcheckedcsname{\????correspondenceelement:#environment:#type:#element:}{#name}\s!default}
+
+% Files
+
+\unexpanded\def\correspondence_file_load[#environment][#names]%
+ {\def\correspondence_file_command#name%
+ {\ctxlua{thirddata.correspondence.file("#environment","#name")}}%
+ \processcommacommand[#names]\correspondence_file_command}
+
+% Style
+
+\installsimplecommandhandler \????correspondencestyle {correspondencestyle} \????correspondencestyle
+
+\unexpanded\def\correspondence_style_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_style_command#element%
+ {\edef\currentcorrespondencestyle{#environment:#element}%
+ \setupcurrentcorrespondencestyle[#parameters]}%
+ \processcommacommand[#elements]\correspondence_style_command}
+
+\unexpanded\def\correspondence_style_width#environment#element#content%
+ {\edef\currentcorrespondencestyle {#environment:#element}%
+ \edef\p_correspondence_style_width{\correspondencestyleparameter\c!width}%
+ \hbox \ifx\p_correspondence_style_width\empty \else to \p_correspondence_style_width \fi{#content\hss}}
+
+\unexpanded\def\formattedcorrespondenceparameter#element%
+ {\begingroup
+ \edef\currentcorrespondenceelement{#element}%
+ \edef\currentcorrespondencestyle {\currentcorrespondence:#element}%
+ \usecorrespondencestylestyleandcolor\c!style\c!color
+ \correspondenceparameter\currentcorrespondenceelement
+ \endgroup}
+
+%D \section{Layout}
+%D
+%D \startitemize[packed]
+%D \item firstpage,
+%D \item secondpage,
+%D \item leftpage and
+%D \item rightpage.
+%D \stopitemize
+
+\newcount\c_correspondence_page
+
+\installlayoutmethod \v!correspondence
+ {\global\advance\c_correspondence_page\plusone
+ \ifnum\c_correspondence_page=\plusone
+ \changetolayout{\????correspondencelayout\currentcorrespondence\v!firstpage}%
+ \else\ifodd\c_correspondence_page
+ \changetolayout{\????correspondencelayout\currentcorrespondence\v!rightpage}%
+ \else
+ \changetolayout{\????correspondencelayout\currentcorrespondence\v!leftpage }%
+ \fi\fi}
+
+\unexpanded\def\correspondence_layout_define
+ {\dotripleempty\correspondence_layout_define_indeed}
+
+\unexpanded\def\correspondence_layout_define_indeed[#environment][#self][#parent]%
+ {\def\m_correspondence_layout_self {#environment#self}%
+ \def\m_correspondence_layout_parent{#environment#parent}%
+ \ifthirdargument
+ \definelayout[\????correspondencelayout\m_correspondence_layout_self][\????correspondencelayout\m_correspondence_layout_parent]%
+ \else
+ \definelayout[\????correspondencelayout\m_correspondence_layout_self]%
+ \fi}
+
+\unexpanded\def\correspondence_layout_setup[#environment][#elements][#parameters]%
+ {\def\correspondence_layout_command#element%
+ {\def\m_correspondence_layout_current{#environment#element}%
+ \setuplayout[\????correspondencelayout\m_correspondence_layout_current][#parameters]}%
+ \processcommacommand[#elements]\correspondence_layout_command}
+
+\appendtoks
+ \correspondence_layout_define[\currentcorrespondence][\v!firstpage ]%
+ \correspondence_layout_define[\currentcorrespondence][\v!secondpage]%
+ \correspondence_layout_define[\currentcorrespondence][\v!leftpage ][\v!secondpage]%
+ \correspondence_layout_define[\currentcorrespondence][\v!rightpage ][\v!secondpage]%
+\to \everydefinecorrespondence
+
+% Lists
+
+\def\correspondence_elements_define[#environment][#name][#list]%
+ {\ctxlua{thirddata.correspondence.elements_define("#environment","#name","#list")}}
+
+\def\correspondence_elements_access#environment#name%
+ {\ctxlua{thirddata.correspondence.elements_access("#environment","#name")}}
+
+% Extras
+
+\definesymbol[\v!cutmark][{\blackrule[\c!width=4mm,\c!height=\linewidth]}]
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkii
new file mode 100644
index 0000000000..8acab8898d
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkii
@@ -0,0 +1,916 @@
+%D \module
+%D [ file=s-cor-01,
+%D version=2013.01.02,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Letters,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startmodule[letter]
+
+\usemodule[cor-00]
+
+\setupmodule
+ [\c!style=dinb]
+
+% Commands
+
+\definecorrespondence[\v!letter]
+
+\def\defineletterlayer {\dodoubleargument\definecorrespondencelayer [\v!letter]}
+\def\definelettersection {\dodoubleargument\definecorrespondencesection [\v!letter]}
+\def\defineletterdescription {\dodoubleargument\definecorrespondencedescription [\v!letter]}
+
+\def\defineletterelements {\dotripleargument\definecorrespondenceelements [\v!letter]}
+\def\setupletterelements {\dotripleargument\definecorrespondenceelements [\v!letter]}
+
+\def\setupletterstyle {\dotripleargument\setupcorrespondencestyle [\v!letter]}
+\def\setupletterlayer {\dotripleargument\setupcorrespondencelayer [\v!letter]}
+\def\setupletterframe {\dotripleargument\setupcorrespondenceframe [\v!letter]}
+\def\setupletterlayout {\dotripleargument\setupcorrespondencelayout [\v!letter]}
+\def\setuplettersection {\dotripleargument\setupcorrespondencesection [\v!letter]}
+\def\setupletterdescription {\dotripleargument\setupcorrespondencedescription [\v!letter]}
+\def\setupletteroptions {\dodoubleargument\setupcorrespondenceoption [\v!letter]}
+\def\setupletter {\dodoubleargument\setupcorrespondence [\v!letter]}
+
+\def\useletterstyle {\dodoubleargument\loadcorrespondencefile [\v!letter]}
+
+\def\defineletterelement {\doquadrupleargument\definecorrespondenceelement [\v!letter]}
+\def\letterelement {\doquadrupleargument\placecorrespondenceelement [\v!letter]}
+
+\def\namedletterlayerparameter #1{\namedcorrespondencelayerparameter {\v!letter:#1}}
+\def\namedletterframeparameter #1{\namedcorrespondenceframeparameter {\v!letter:#1}}
+\def\namedlettersectionparameter#1{\namedcorrespondencesectionparameter{\v!letter:#1}}
+
+% Layers
+
+\defineletterlayer [\v!head]
+\defineletterlayer [\v!nexthead]
+\defineletterlayer [\v!lefthead]
+\defineletterlayer [\v!righthead]
+
+\defineletterlayer [\v!foot]
+\defineletterlayer [\v!nextfoot]
+\defineletterlayer [\v!leftfoot]
+\defineletterlayer [\v!rightfoot]
+
+\defineletterlayer [\v!address]
+\defineletterlayer [\v!backaddress]
+
+\defineletterlayer [\v!reference]
+\defineletterlayer [\v!location]
+
+\defineletterlayer [\v!topmark]
+\defineletterlayer [\v!botmark]
+\defineletterlayer [\v!cutmark]
+\defineletterlayer [\v!endmark]
+\defineletterlayer [\v!usermark]
+
+\defineletterlayer [\v!lettermain]
+\defineletterlayer [\v!letternext]
+
+% Section
+
+\definelettersection [\v!head]
+\definelettersection [\v!date]
+\definelettersection [\v!reference]
+\definelettersection [\v!specialnotation]
+\definelettersection [\v!address]
+\definelettersection [\v!title]
+\definelettersection [\v!subject]
+\definelettersection [\v!opening]
+\definelettersection [\v!content]
+\definelettersection [\v!closing]
+\definelettersection [\v!appendices]
+
+% Descriptions
+
+\defineletterdescription [\v!copy]
+\defineletterdescription [\v!enclosure]
+\defineletterdescription [\v!postscript]
+
+% Setups
+
+% layer: head
+
+\defineletterelement[\v!layer][\v!head][\s!default]
+ {\def\\{\correspondencelayerparameter\c!separator}%
+ \correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromname}\\
+ \correspondenceparameter\c!fromaddress}
+
+\defineletterelement[\v!layer][\v!head][\v!left]
+ {\framed[\c!frame=\v!off,\c!align=\v!flushleft,\c!width=\v!broad,\c!offset=\zeropoint]\bgroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!style\c!color
+ \correspondenceparameter\c!fromname
+ \dostopattributes
+ \\
+ \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!style\c!color
+ \correspondenceparameter\c!fromaddress
+ \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
+ \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
+ \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
+ \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
+ \dostopattributes
+ \egroup}
+
+\defineletterelement[\v!layer][\v!head][\v!middle]
+ {\framed[\c!frame=\v!off,\c!align=\v!middle,\c!width=\v!broad,\c!offset=\zeropoint]\bgroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!style\c!color
+ \correspondenceparameter\c!fromname
+ \dostopattributes
+ \\
+ \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!style\c!color
+ \correspondenceparameter\c!fromaddress
+ \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
+ \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
+ \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
+ \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
+ \dostopattributes
+ \egroup}
+
+\defineletterelement[\v!layer][\v!head][\v!right]
+ {\framed[\c!frame=\v!off,\c!align=\v!flushright,\c!width=\v!broad,\c!offset=\zeropoint]\bgroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!style\c!color
+ \correspondenceparameter\c!fromname
+ \dostopattributes
+ \\
+ \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!style\c!color
+ \correspondenceparameter\c!fromaddress
+ \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
+ \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
+ \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
+ \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
+ \dostopattributes
+ \egroup}
+
+\defineletterelement[\v!layer][\v!head][\v!gbrief]
+ {\def\\{\correspondencelayerparameter\c!separator}%
+ \correspondenceparameter\c!fromname\hrule}
+
+\defineletterelement[\v!layer][\v!head][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!head}}
+
+% layer: nexthead
+
+\defineletterelement[\v!layer][\v!nexthead][\v!gbrief]
+ {\maxaligned
+ {\rlap{\correspondenceparameter\c!fromname}
+ \midaligned{\leftlettertext\v!pagenumber\subpagenumber\rightlettertext\v!pagenumber\lastsubpagenumber}
+ \llap{\correspondenceparameter\c!date}}
+ \hairline}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!fullblock]
+ {\maxaligned
+ {\rlap{\correspondenceparameter\c!toname}%
+ \midaligned{\subpagenumber}%
+ \llap{\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=\v!left]
+ {\correspondenceparameter\c!date \\
+ \correspondenceparameter\c!reference}}}}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!hanging]
+ {\maxaligned
+ {\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=v!right]
+ {\correspondenceparameter\c!toname \\
+ \correspondenceparameter\c!date \\
+ \correspondenceparameter\c!reference \\
+ \lettertext\c!page\subpagenumber}}}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!semiblock]
+ {\maxaligned
+ {\rlap{\correspondenceparameter\c!toname}%
+ \midaligned{\subpagenumber}%
+ \llap{\correspondenceparameter\c!date}}}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!simplified]
+ {\letterelement[\v!layer][\v!nexthead][\v!fullblock]}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!modified]
+ {\letterelement[\v!layer][\v!nexthead][\v!hanging]}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!knuth]
+ {\maxaligned
+ {\rlap{\correspondenceparameter\c!toname}%
+ \midaligned{\currentdate}%
+ \llap{\lettertext\c!page\subpagenumber}}}
+
+\defineletterelement[\v!layer][\v!nexthead][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!nexthead}}
+
+% layer: lefthead
+
+\defineletterelement[\v!layer][\v!lefthead][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!lefthead}}
+
+% layer: righthead
+
+\defineletterelement[\v!layer][\v!righthead][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!righthead}}
+
+% layer: foot
+
+\defineletterelement[\v!layer][\v!foot][\v!gbrief]
+ {\bTABLE[\c!frame=\v!off,\c!width=.25\hsize,\c!offset=\zeropoint]
+ \bTR[\c!style=\bfxx,\c!topframe=\v!on]
+ \bTD \lettertext\c!address \eTD
+ \bTD \lettertext\c!phone \eTD
+ \bTD \lettertext\c!email \eTD
+ \bTD \lettertext\c!bank \eTD
+ \eTR
+ \bTR
+ \bTD \correspondenceparameter\c!street \\\correspondenceparameter\c!city \eTD
+ \bTD \correspondenceparameter\c!phone \eTD
+ \bTD \correspondenceparameter\c!email \eTD
+ \bTD \correspondenceparameter\c!bankname\\\correspondenceparameter\c!banknumber\\\correspondenceparameter\c!accountnumber \eTD
+ \eTR
+ \eTABLE}
+
+\defineletterelement[\v!layer][\v!foot][\v!pagenumber]
+ {\midaligned{\leftlettertext\v!pagenumber\subpagenumber\rightlettertext\v!pagenumber\lastsubpagenumber}}
+
+\defineletterelement[\v!layer][\v!foot][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!foot}}
+
+% layer: nextfoot
+
+\defineletterelement[\v!layer][\v!nextfoot][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!nextfoot}}
+
+% layer: leftfoot
+
+\defineletterelement[\v!layer][\v!leftfoot][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!leftfoot}}
+
+% layer: rightfoot
+
+\defineletterelement[\v!layer][\v!rightfoot][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!rightfoot}}
+
+% layer: address
+
+\defineletterelement[\v!layer][\v!address][\s!default]
+ {\def\\{\correspondencelayerparameter\c!separator}%
+ \doifsomething{\correspondenceparameter\c!dispatch}{\correspondenceparameter\c!dispatch\\}%
+ \doifsomething{\correspondenceparameter\c!toname }{\correspondenceparameter\c!toname \\}%
+ \correspondenceparameter\c!toaddress}
+
+\defineletterelement[\v!layer][\v!address][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!address}}
+
+% layer: backaddress
+
+\defineletterelement[\v!layer][\v!backaddress][\s!default]
+ {\def\\{\correspondencelayerparameter\c!separator}%
+ \correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromaddress}\\
+ \correspondenceparameter\c!fromaddress}
+
+\defineletterelement[\v!layer][\v!backaddress][\v!auto]
+ {\def\\{\correspondencelayerparameter\c!separator}%
+ \doifsomethingelse{\correspondenceparameter\c!backaddress}
+ {\correspondenceparameter\c!backaddress}
+ {\letterelement[\v!layer][\v!backaddress][\s!default]}}
+
+\defineletterelement[\v!layer][\v!backaddress][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!backaddress}}
+
+% layer: reference
+
+\defineletterelement[\v!layer][\v!reference][\s!default]
+ {\correspondenceparameter\c!reference}
+
+\def\doformatletterreferenceAandE#1%
+ {\def\currentcorrespondencevalue {#1}%
+ \def\currentcorrespondencestyle{\v!letter:#1}%
+ \vbox\bgroup
+ \framed
+ [\c!frame=\v!off,
+ \c!foregroundstyle=\correspondencestyleparameter\c!titlestyle,
+ \c!foregroundcolor=\correspondencestyleparameter\c!titlecolor,
+ \c!location=\v!bottom,
+ \c!align=\v!right,
+ \c!offset=0pt]
+ {\setupinterlinespace\lettertext\currentcorrespondencevalue\par}%
+ \framed
+ [\c!frame=\v!off,
+ \c!foregroundstyle=\correspondencestyleparameter\c!textstyle,
+ \c!foregroundcolor=\correspondencestyleparameter\c!textcolor,
+ \c!location=\v!top,
+ \c!align=\v!right,
+ \c!offset=0pt]
+ {\setupinterlinespace\correspondenceparameter\currentcorrespondencevalue\par}%
+ \egroup}
+
+\def\doformatletterreferenceA#1%
+ {\doifsomething{#1} % ignore empty entries
+ {\doifnot{#1}{\v!line} % and the “line” keyword
+ {\doformatletterreferenceAandE{#1}\hfill}}}
+
+\defineletterelement[\v!layer][\v!reference][\v!a]
+ {\hbox to \hsize\bgroup
+ \getcommacommandsize[\correspondencelayerparameter\c!list]%
+ \ifnum\commalistsize=\plusone\hfill\fi
+ \processcommacommand[\correspondencelayerparameter\c!list]\doformatletterreferenceA
+ \unskip
+ \egroup}
+
+\def\doformatletterreferenceB#1%
+ {\doifsomething{#1}% ignore empty entries
+ {\doifelse{#1}{\v!line}
+ {\blank[\v!line]}
+ {\hbox\bgroup
+ \def\currentcorrespondencevalue {#1}%
+ \def\currentcorrespondencestyle{\v!letter:#1}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!titlestyle\c!titlecolor
+ \lettertext\currentcorrespondencevalue
+ \correspondencestyleparameter\c!separator
+ \dostopattributes
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!textstyle\c!textcolor
+ \correspondenceparameter\currentcorrespondencevalue
+ \dostopattributes
+ \egroup}}}
+
+\defineletterelement[\v!layer][\v!reference][\v!b]
+ {\vtop\bgroup
+ \processcommacommand[\correspondencelayerparameter\c!list]\doformatletterreferenceB
+ \egroup}
+
+\def\doformatletterreferenceC#1%
+ {\doifsomething{#1} % ignore empty entries
+ {\doifnot{#1}{\v!line} % and the “line” keyword
+ {\def\currentcorrespondencevalue {#1}%
+ \def\currentcorrespondencestyle{\v!letter:#1}%
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}\c!textstyle\c!textcolor
+ \correspondenceparameter\currentcorrespondencevalue
+ \dostopattributes}}}
+
+\defineletterelement[\v!layer][\v!reference][\v!c]
+ {\hbox to \hsize\bgroup
+ \processcommacommand[\correspondencelayerparameter\c!list]\doformatletterreferenceC
+ \egroup}
+
+\def\doformatletterreferenceD#1%
+ {\doifsomething{#1}%
+ {\doifelse{#1}{\v!line}
+ {\appendtoks\TB[\v!line]\to\scratchtoks}
+ {\def\currentcorrespondencevalue {#1}%
+ \def\currentcorrespondencestyle{\v!letter:#1}%
+ \startexpanded
+ \noexpand\appendtoks
+ \noexpand\NC
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}{\c!titlestyle}{\c!titlecolor}%
+ \lettertext\currentcorrespondencevalue
+ \correspondencestyleparameter\c!separator
+ \dostopattributes
+ \noexpand\NC
+ \dostartattributes{\????correspondencestyle\currentcorrespondencestyle}{\c!textstyle }{\c!textcolor }%
+ \correspondenceparameter\currentcorrespondencevalue
+ \dostopattributes
+ \noexpand\NC\noexpand\NR
+ \noexpand\to\noexpand\scratchtoks
+ \stopexpanded}}}
+
+\defineletterelement[\v!layer][\v!reference][\v!d]
+ {\vtop\bgroup
+ \scratchtoks\emptytoks
+ \processcommacommand[\correspondencelayerparameter\c!list]\doformatletterreferenceD
+ \starttabulate[|l|l|][\c!before=,\c!after=]%
+ \the\scratchtoks
+ \stoptabulate
+ \egroup}
+
+\def\doformatletterreferenceE#1%
+ {\doifsomething{#1} % ignore empty entries
+ {\doifnot{#1}{\v!line} % and the “line” keyword
+ {\correspondencestylewidth\v!letter{#1}{\doformatletterreferenceAandE{#1}}}}}
+
+\defineletterelement[\v!layer][\v!reference][\v!e]
+ {\hbox to \hsize\bgroup
+ \processcommacommand[\correspondencelayerparameter\c!list]\doformatletterreferenceE
+ \egroup}
+
+\defineletterelement[\v!layer][\v!reference][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!reference}}
+
+% layer: location
+
+\defineletterelement[\v!layer][\v!location][\v!french]
+ {\def\\{\correspondencelayerparameter\c!separator}%
+ \doifsomething{\correspondenceparameter\c!place}{\correspondenceparameter\c!place\\}%
+ \correspondenceparameter\c!date}
+
+\defineletterelement[\v!layer][\v!location][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!location}}
+
+% layer: topmark
+
+\defineletterelement[\v!layer][\v!topmark][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!topmark}}
+
+% layer: botmark
+
+\defineletterelement[\v!layer][\v!botmark][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!botmark}}
+
+% layer: cutmark
+
+\defineletterelement[\v!layer][\v!cutmark][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!cutmark}}
+
+% layer: endmark
+
+\defineletterelement[\v!layer][\v!endmark][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!endmark}}
+
+% layer: usermark
+
+\defineletterelement[\v!layer][\v!usermark][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!usermark}}
+
+% layer: lettermain
+
+\defineletterelement[\v!layer][\v!lettermain][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!lettermain}}
+
+% layer: letternext
+
+\defineletterelement[\v!layer][\v!letternext][\v!setups]
+ {\directsetup{\v!letter:\v!layer:\v!letternext}}
+
+% section: head
+
+\defineletterelement[\v!section][\v!head][\v!blockstyle]
+ {\correspondenceparameter\c!fromaddress}
+
+\defineletterelement[\v!section][\v!head][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!head}}
+
+% section: date
+
+\defineletterelement[\v!section][\v!date][\v!blockstyle]
+ {\correspondenceparameter\c!date}
+
+\defineletterelement[\v!section][\v!date][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!date}}
+
+% section: reference
+
+\defineletterelement[\v!section][\v!reference][\v!blockstyle]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!reference}
+
+\defineletterelement[\v!section][\v!reference][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!reference}}
+
+% section: specialnotation
+
+\defineletterelement[\v!section][\v!specialnotation][\v!blockstyle]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!dispatch}
+
+\defineletterelement[\v!section][\v!specialnotation][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!specialnotation}}
+
+% section: address
+
+\defineletterelement[\v!section][\v!address][\v!blockstyle]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!toname
+ \doifsomething{\correspondenceparameter\c!toname}\\
+ \correspondenceparameter\c!toaddress}
+
+\defineletterelement[\v!section][\v!address][\v!knuth]
+ {\letterelement[\v!section][\v!address][\v!blockstyle]}
+
+\defineletterelement[\v!section][\v!address][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!address}}
+
+% section: title
+
+\defineletterelement[\v!section][\v!title][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomethingelse{\correspondenceparameter\c!title}
+ {\correspondenceparameter\c!title}
+ {\lettertext\c!attention\correspondenceparameter\c!attention}}
+
+\defineletterelement[\v!section][\v!title][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!title}}
+
+% section: subject
+
+\defineletterelement[\v!section][\v!subject][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \lettertext\c!subject\correspondenceparameter\c!subject}
+
+\defineletterelement[\v!section][\v!subject][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!subject}}
+
+% section: opening
+
+\defineletterelement[\v!section][\v!opening][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomethingelse{\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!salutation}}
+
+\defineletterelement[\v!section][\v!opening][\v!french]
+ {\doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting]}%
+ \letterelement[\v!section][\v!opening][\s!default]}
+
+\defineletterelement[\v!section][\v!opening][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!opening}}
+
+% section: content
+
+\defineletterelement[\v!section][\v!content][\s!default]
+ {\setupbuffer[\c!before=,\c!after=]%
+ \getbuffer [\????correspondencebuffer\v!letter]}
+
+\defineletterelement[\v!section][\v!content][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!content}}
+
+% section: closing
+
+\defineletterelement[\v!section][\v!closing][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \correspondenceparameter\c!signature}}
+
+\defineletterelement[\v!section][\v!closing][\v!french]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting,\v!first]}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \raggedcenter\doadaptleftskip{.5\textwidth}%
+ \correspondenceparameter\c!signature\endgraf}}
+
+\defineletterelement[\v!section][\v!closing][\v!knuth]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \doadaptleftskip{\dimexpr\textwidth/13*8\relax}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \correspondenceparameter\c!signature}}
+
+\defineletterelement[\v!section][\v!closing][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!closing}}
+
+% section: appendices
+
+\defineletterelement[\v!section][\v!appendices][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \startpacked
+ \processcommacommand[\accesscorrespondenceelements\v!letter\v!description]{\placecorrespondencedescription\v!letter}%
+ \stoppacked}
+
+\defineletterelement[\v!section][\v!appendices][\v!setups]
+ {\directsetup{\v!letter:\v!section:\v!appendices}}
+
+\startsetups[\v!letter:\v!place]
+\placecorrespondence[\v!letter]
+\stopsetups
+
+% Extras
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \processallactionsinset
+ [\correspondenceoptionparameter\c!option]
+ [ \v!test=>{\useletterstyle[test]},
+ \v!setups=>{\useletterstyle[setups]}]%
+ \fi
+\to \everybeforecorrespondence
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \doif{\correspondenceoptionparameter\c!marking}\v!no{\setupletterlayer[\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark][\c!state=\v!stop]}%
+ \fi
+\to \everybeforecorrespondence
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \doif{\correspondenceoptionparameter\c!position}\v!yes
+ {\setbox\scratchbox\vbox{\letterelement[\v!reference][\correspondencelayerparameter\c!alternative]}%
+ \normalexpanded
+ {\setupletterlayout
+ [\v!firstpage]
+ [\c!topspace=\dimexpr\namedletterlayerparameter\v!reference\c!y+\ht\scratchbox+\namedletterlayerparameter\v!reference\c!distance\relax]}}%
+ \fi
+\to \everybeforecorrespondence
+
+% Labels
+
+\def\????lettertext{@@@@lettertext}
+
+\def\setuplettertext
+ {\dodoubleempty\dosetuplettertext}
+
+\def\dosetuplettertext[#1][#2]%
+ {\ifsecondargument
+ \def\dodosetuplettertext##1{\setuplabeltext[#1][\????lettertext##1]}%
+ \processcommalist[#2]\dodosetuplettertext
+ \else
+ \def\dodosetuplettertext##1{\setuplabeltext [\????lettertext##1]}%
+ \processcommalist[#1]\dodosetuplettertext
+ \fi}
+
+\def\lettertext #1{\labeltext {\????lettertext#1}}
+\def\leftlettertext #1{\leftlabeltext {\????lettertext#1}}
+\def\rightlettertext#1{\rightlabeltext{\????lettertext#1}}
+
+% name:
+
+\setuplettertext[\s!en][\c!name=Name]
+\setuplettertext[\s!nl][\c!name=]
+\setuplettertext[\s!de][\c!name=Name]
+\setuplettertext[\s!fr][\c!name=Nom]
+\setuplettertext[\s!it][\c!name=]
+\setuplettertext[\s!es][\c!name=]
+
+% room:
+
+\setuplettertext[\s!en][\c!room=Room]
+\setuplettertext[\s!nl][\c!room=]
+\setuplettertext[\s!de][\c!room=Zimmer]
+\setuplettertext[\s!fr][\c!room=Salle] % Salle or Pièce
+\setuplettertext[\s!it][\c!room=]
+\setuplettertext[\s!es][\c!room=]
+
+% yourref:
+
+\setuplettertext[\s!en][\c!yourref=Your ref.]
+\setuplettertext[\s!nl][\c!yourref=Uw kenmerk]
+\setuplettertext[\s!de][\c!yourref=Ihr Zeichen]
+\setuplettertext[\s!fr][\c!yourref=Vos r\eacute f\eacute rences]
+\setuplettertext[\s!it][\c!yourref=Vs./Rif.]
+\setuplettertext[\s!es][\c!yourref=Su ref.]
+
+% yourmail:
+
+\setuplettertext[\s!en][\c!yourmail=Your letter of]
+\setuplettertext[\s!nl][\c!yourmail=Uw brief van]
+\setuplettertext[\s!de][\c!yourmail=Ihre Nachricht vom]
+\setuplettertext[\s!fr][\c!yourmail=Votre lettre du]
+\setuplettertext[\s!it][\c!yourmail=Vs.~lettera del]
+\setuplettertext[\s!es][\c!yourmail=Su carta de]
+
+% myref:
+
+\setuplettertext[\s!en][\c!myref=Our ref.]
+\setuplettertext[\s!nl][\c!myref=Ons kenmerk]
+\setuplettertext[\s!de][\c!myref=Unser Zeichen]
+\setuplettertext[\s!fr][\c!myref=Nos r\eacute f\eacute rences]
+\setuplettertext[\s!it][\c!myref=Ns./Rif.]
+\setuplettertext[\s!es][\c!myref=Nuestra ref.]
+
+% mymail:
+
+\setuplettertext[\s!en][\c!mymail=Our letter of]
+\setuplettertext[\s!nl][\c!mymail=Ons brief van]
+\setuplettertext[\s!de][\c!mymail=Unsere Nachricht vom]
+\setuplettertext[\s!fr][\c!mymail=Notre lettre du]
+\setuplettertext[\s!it][\c!mymail=]
+\setuplettertext[\s!es][\c!mymail=]
+
+% customer:
+
+\setuplettertext[\s!en][\c!customer=Customer no.]
+\setuplettertext[\s!nl][\c!customer=Klant No.]
+\setuplettertext[\s!de][\c!customer=Kundennummer]
+\setuplettertext[\s!fr][\c!customer=Num\eacute ro de client]
+\setuplettertext[\s!it][\c!customer=Nr.~cliente]
+\setuplettertext[\s!es][\c!customer=No. de cliente]
+
+% invoice:
+
+\setuplettertext[\s!en][\c!invoice=Invoice no.]
+\setuplettertext[\s!nl][\c!invoice=Rekening No.]
+\setuplettertext[\s!de][\c!invoice=Rechnungsnummer]
+\setuplettertext[\s!fr][\c!invoice=Num\eacute ro de facture]
+\setuplettertext[\s!it][\c!invoice=Nr.~fattura]
+\setuplettertext[\s!es][\c!invoice=No. de factura]
+
+% attention:
+
+\setuplettertext[\s!en][\c!attention=] % Attention
+\setuplettertext[\s!nl][\c!attention=]
+\setuplettertext[\s!de][\c!attention=]
+\setuplettertext[\s!fr][\c!attention=]
+\setuplettertext[\s!it][\c!attention=]
+\setuplettertext[\s!es][\c!attention=]
+
+% subject:
+
+\setuplettertext[\s!en][\c!subject=] % Subject
+\setuplettertext[\s!nl][\c!subject=] % Onderwerp
+\setuplettertext[\s!de][\c!subject=] % Betrifft
+\setuplettertext[\s!fr][\c!subject=] % Concernant or Sujet
+\setuplettertext[\s!it][\c!subject=] % Oggetto
+\setuplettertext[\s!es][\c!subject=] % Asunto
+
+% cc:
+
+\setuplettertext[\s!en][\c!copy=cc]
+\setuplettertext[\s!nl][\c!copy=Kopie aan]
+\setuplettertext[\s!de][\c!copy=Kopien an]
+\setuplettertext[\s!fr][\c!copy=Copie\agrave]
+\setuplettertext[\s!it][\c!copy=Per conoscenza]
+\setuplettertext[\s!es][\c!copy=Copias]
+
+% enclosure:
+
+\setuplettertext[\s!en][\c!enclosure=encl]
+\setuplettertext[\s!nl][\c!enclosure=Bijlage(n)]
+\setuplettertext[\s!de][\c!enclosure=Anlagen]
+\setuplettertext[\s!fr][\c!enclosure=Annexes]
+\setuplettertext[\s!it][\c!enclosure=Allegato]
+\setuplettertext[\s!es][\c!enclosure=Adjunto]
+
+% to:
+
+\setuplettertext[\s!en][\c!to=To]
+\setuplettertext[\s!nl][\c!to=Aan]
+\setuplettertext[\s!de][\c!to=An]
+\setuplettertext[\s!fr][\c!to=\Agrave]
+\setuplettertext[\s!it][\c!to=A]
+\setuplettertext[\s!es][\c!to=A]
+
+% toname:
+
+\setuplettertext[\s!en][\c!toname=To]
+\setuplettertext[\s!nl][\c!toname=Aan]
+\setuplettertext[\s!de][\c!toname=An]
+\setuplettertext[\s!fr][\c!toname=\Agrave]
+\setuplettertext[\s!it][\c!toname=A]
+\setuplettertext[\s!es][\c!toname=A]
+
+% from:
+
+\setuplettertext[\s!en][\c!from=From]
+\setuplettertext[\s!nl][\c!from=Van]
+\setuplettertext[\s!de][\c!from=Von]
+\setuplettertext[\s!fr][\c!from=De]
+\setuplettertext[\s!it][\c!from=Da]
+\setuplettertext[\s!es][\c!from=De]
+
+% fromname:
+
+\setuplettertext[\s!en][\c!fromname=From]
+\setuplettertext[\s!nl][\c!fromname=Van]
+\setuplettertext[\s!de][\c!fromname=Von]
+\setuplettertext[\s!fr][\c!fromname=De]
+\setuplettertext[\s!it][\c!fromname=Da]
+\setuplettertext[\s!es][\c!fromname=De]
+
+% date:
+
+\setuplettertext[\s!en][\c!date=Date]
+\setuplettertext[\s!nl][\c!date=Datum]
+\setuplettertext[\s!de][\c!date=Datum]
+\setuplettertext[\s!fr][\c!date=Date]
+\setuplettertext[\s!it][\c!date=Data]
+\setuplettertext[\s!es][\c!date=Fecha]
+
+% phone:
+
+\setuplettertext[\s!en][\c!phone=Phone]
+\setuplettertext[\s!nl][\c!phone=Telefoon]
+\setuplettertext[\s!de][\c!phone=Telefon]
+\setuplettertext[\s!fr][\c!phone=T\eacute l\eacute phone]
+\setuplettertext[\s!it][\c!phone=Telefono]
+\setuplettertext[\s!es][\c!phone=Tel\eacute fono]
+
+% fax:
+
+\setuplettertext[\s!en][\c!fax=Fax]
+\setuplettertext[\s!nl][\c!fax=Fax]
+\setuplettertext[\s!de][\c!fax=Fax]
+\setuplettertext[\s!fr][\c!fax=T\eacute l\eacute fax] % or Fax
+\setuplettertext[\s!it][\c!fax=Fax]
+\setuplettertext[\s!es][\c!fax=Fax]
+
+% email:
+
+\setuplettertext[\s!en][\c!email=Email]
+\setuplettertext[\s!nl][\c!email=E–mail]
+\setuplettertext[\s!de][\c!email=E-Mail]
+\setuplettertext[\s!fr][\c!email=Courriel] % Adresse électronique
+\setuplettertext[\s!it][\c!email=Email]
+\setuplettertext[\s!es][\c!email=Email]
+
+% url:
+
+\setuplettertext[\s!en][\c!url=Url]
+\setuplettertext[\s!nl][\c!url=URL]
+\setuplettertext[\s!de][\c!url=URL]
+\setuplettertext[\s!fr][\c!url=Site web]
+\setuplettertext[\s!it][\c!url=Sito Web]
+\setuplettertext[\s!es][\c!url=URL]
+
+% bank:
+
+\setuplettertext[\s!en][\c!bank=Bank account]
+\setuplettertext[\s!nl][\c!bank=Bankrekening]
+\setuplettertext[\s!de][\c!bank=Bankverbindung]
+\setuplettertext[\s!fr][\c!bank=Compte en banque]
+\setuplettertext[\s!it][\c!bank=Conto bancario]
+\setuplettertext[\s!es][\c!bank=Cuenta bancaria]
+
+% organization:
+
+\setuplettertext[\s!en][\c!organization=Organization]
+\setuplettertext[\s!nl][\c!organization=]
+\setuplettertext[\s!de][\c!organization=Organisation]
+\setuplettertext[\s!fr][\c!organization=]
+\setuplettertext[\s!it][\c!organization=]
+\setuplettertext[\s!es][\c!organization=]
+
+% city:
+
+\setuplettertext[\s!en][\c!city=City]
+\setuplettertext[\s!nl][\c!city=]
+\setuplettertext[\s!de][\c!city=Stadt]
+\setuplettertext[\s!fr][\c!city=]
+\setuplettertext[\s!it][\c!city=]
+\setuplettertext[\s!es][\c!city=]
+
+% zip:
+
+\setuplettertext[\s!en][\c!zip=Zip]
+\setuplettertext[\s!nl][\c!zip=]
+\setuplettertext[\s!de][\c!zip=PLZ]
+\setuplettertext[\s!fr][\c!zip=]
+\setuplettertext[\s!it][\c!zip=]
+\setuplettertext[\s!es][\c!zip=]
+
+% country:
+
+\setuplettertext[\s!en][\c!country=Country]
+\setuplettertext[\s!nl][\c!country=]
+\setuplettertext[\s!de][\c!country=Land]
+\setuplettertext[\s!fr][\c!country=]
+\setuplettertext[\s!it][\c!country=]
+\setuplettertext[\s!es][\c!country=]
+
+% street:
+
+\setuplettertext[\s!en][\c!street=Street]
+\setuplettertext[\s!nl][\c!street=]
+\setuplettertext[\s!de][\c!street=Stra\ssharp e]
+\setuplettertext[\s!fr][\c!street=]
+\setuplettertext[\s!it][\c!street=]
+\setuplettertext[\s!es][\c!street=]
+
+% page:
+
+\setuplettertext[\s!en][\c!page=Page~]
+\setuplettertext[\s!nl][\c!page=]
+\setuplettertext[\s!de][\c!page=Seite~]
+\setuplettertext[\s!fr][\c!page=]
+\setuplettertext[\s!it][\c!page=]
+\setuplettertext[\s!es][\c!page=]
+
+% pagenumber:
+
+\setuplettertext[\s!en][\c!pagenumber={Page , of }]
+\setuplettertext[\s!nl][\c!pagenumber=]
+\setuplettertext[\s!de][\c!pagenumber={Seite , von }]
+\setuplettertext[\s!fr][\c!pagenumber=]
+\setuplettertext[\s!it][\c!pagenumber=]
+\setuplettertext[\s!es][\c!pagenumber=]
+
+% Files
+
+\useletterstyle[default,\currentmoduleparameter\c!style]
+
+\stopmodule
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkvi b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkvi
new file mode 100644
index 0000000000..524bd06a32
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-01.mkvi
@@ -0,0 +1,919 @@
+%D \module
+%D [ file=s-cor-01,
+%D version=2013.07.31,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Letters,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startmodule[letter]
+
+\usemodule[cor-00]
+\usemodule[cor-06]
+
+\setupmodule
+ [\c!style=dinb]
+
+% Namespaces
+
+\installnamespace {letterlayerrenderings}
+\installnamespace {lettersectionrenderings}
+
+% Commands
+
+\definecorrespondence[\v!letter]
+
+\def\defineletterlayer {\dodoubleargument\correspondence_layer_define [\v!letter]}
+\def\definelettersection {\dodoubleargument\correspondence_section_define [\v!letter]}
+\def\defineletterdescription {\dodoubleargument\correspondence_description_define [\v!letter]}
+\def\defineletterhead {\dodoubleargument\correspondence_head_define [\v!letter]}
+
+\def\defineletterlayeralternative {\doquadrupleempty\correspondence_layer_alternative_define [\v!letter]}
+\def\definelettersectionalternative {\doquadrupleempty\correspondence_section_alternative_define [\v!letter]}
+\def\defineletterheadalternative {\doquadrupleempty\correspondence_head_alternative_define [\v!letter]}
+
+\def\defineletterelements {\dotripleargument\correspondence_elements_define [\v!letter]}
+\def\setupletterelements {\dotripleargument\correspondence_elements_define [\v!letter]}
+
+\def\setupletterstyle {\dotripleargument\correspondence_style_setup [\v!letter]}
+\def\setupletterlayer {\dotripleargument\correspondence_layer_setup [\v!letter]}
+\def\setupletterframe {\dotripleargument\correspondence_frame_setup [\v!letter]}
+\def\setupletterlayout {\dotripleargument\correspondence_layout_setup [\v!letter]}
+\def\setuplettersection {\dotripleargument\correspondence_section_setup [\v!letter]}
+\def\setupletterdescription {\dotripleargument\correspondence_description_setup [\v!letter]}
+\def\setupletterhead {\dotripleargument\correspondence_head_setup [\v!letter]}
+\def\setupletteroptions {\dodoubleargument\correspondence_option_setup [\v!letter]}
+\def\setupletter {\dodoubleargument\correspondence_setup [\v!letter]}
+
+\def\setupletterlayeralternative {\dotripleargument\correspondence_layer_alternative_setup [\v!letter]}
+\def\setuplettersectionalternative {\dotripleargument\correspondence_section_alternative_setup [\v!letter]}
+\def\setupletterheadalternative {\dotripleargument\correspondence_head_alternative_setup [\v!letter]}
+
+\def\useletterstyle {\dodoubleargument\correspondence_file_load [\v!letter]}
+
+\def\defineletterelement {\doquadrupleargument\correspondence_element_define [\v!letter]}
+\def\letterelement {\doquadrupleargument\correspondence_element_place [\v!letter]}
+
+\def\namedletterlayerparameter #element{\namedcorrespondencelayerparameter {\v!letter:#element}}
+\def\namedletterframeparameter #element{\namedcorrespondenceframeparameter {\v!letter:#element}}
+\def\namedlettersectionparameter#element{\namedcorrespondencesectionparameter{\v!letter:#element}}
+
+% Heading
+
+\defineletterhead [\v!letter\v!section]
+\defineletterhead [\v!letter\v!subsection]
+
+% Layers
+
+\defineletterlayer [\v!head]
+\defineletterlayer [\v!nexthead]
+\defineletterlayer [\v!lefthead]
+\defineletterlayer [\v!righthead]
+
+\defineletterlayer [\v!foot]
+\defineletterlayer [\v!nextfoot]
+\defineletterlayer [\v!leftfoot]
+\defineletterlayer [\v!rightfoot]
+
+\defineletterlayer [\v!address]
+\defineletterlayer [\v!backaddress]
+
+\defineletterlayer [\v!reference]
+\defineletterlayer [\v!location]
+
+\defineletterlayer [\v!topmark]
+\defineletterlayer [\v!botmark]
+\defineletterlayer [\v!cutmark]
+\defineletterlayer [\v!endmark]
+\defineletterlayer [\v!usermark]
+
+\defineletterlayer [\v!lettermain]
+\defineletterlayer [\v!letternext]
+
+% Section
+
+\definelettersection [\v!head]
+\definelettersection [\v!date]
+\definelettersection [\v!reference]
+\definelettersection [\v!specialnotation]
+\definelettersection [\v!address]
+\definelettersection [\v!title]
+\definelettersection [\v!subject]
+\definelettersection [\v!opening]
+\definelettersection [\v!content]
+\definelettersection [\v!closing]
+\definelettersection [\v!appendices]
+
+% Descriptions
+
+\defineletterdescription [\v!copy]
+\defineletterdescription [\v!enclosure]
+\defineletterdescription [\v!postscript]
+
+% Setups
+
+% layer: head
+
+\defineletterlayeralternative[\v!head:\s!default][\c!renderingsetup=\????letterlayerrenderings:\v!head:\s!default]
+
+\defineletterlayeralternative
+ [\v!head:\v!generic]
+ [\c!renderingsetup=\????letterlayerrenderings:\v!head:\v!generic,
+ \c!rule=\correspondencelayerparameter\c!rule,
+ \c!rulewidth=\correspondencelayerparameter\c!rulewidth,
+ \c!rulecolor=\correspondencelayerparameter\c!rulecolor,
+ \c!rulethickness=\correspondencelayerparameter\c!rulethickness]
+
+\defineletterlayeralternative[\v!head:\v!left ][\v!head:\v!generic][\c!align=\v!flushleft ]
+\defineletterlayeralternative[\v!head:\v!middle ][\v!head:\v!generic][\c!align=\v!middle ]
+\defineletterlayeralternative[\v!head:\v!right ][\v!head:\v!generic][\c!align=\v!flushright]
+
+\defineletterlayeralternative[\v!head:\v!gbrief ][\c!renderingsetup=\????letterlayerrenderings:\v!head:\v!gbrief ]
+
+\startsetups[\????letterlayerrenderings:\v!head:\s!default]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromname}\\
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!head:\v!generic]
+ \edef\p_rulewidth {\correspondencelayeralternativeparameter\c!rulewidth }
+ \edef\p_rulethickness{\correspondencelayeralternativeparameter\c!rulethickness}
+ \edef\p_rulecolor {\correspondencelayeralternativeparameter\c!rulecolor }
+ \startframed[\c!frame=\v!off,\c!align=\correspondencelayeralternativeparameter\c!align,\c!width=\v!broad,\c!offset=\zeropoint]
+ \begingroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromname}%
+ \usecorrespondencestylestyleandcolor\c!style\c!color
+ \correspondenceparameter\c!fromname
+ \endgroup
+ \endgraf
+ \doifcommonelse{\correspondencelayeralternativeparameter\c!rule}{\v!top,\c!before,\v!yes}\donetrue\donefalse
+ \ifdone
+ \vskip-.5\lineheight
+ \dontleavehmode
+ \blackrule
+ [ \c!width=\ifx\p_rulewidth \empty\hsize \else\p_rulewidth \fi,
+ \c!height=\ifx\p_rulethickness\empty\linewidth\else\p_rulethickness\fi,
+ \c!color=\ifx\p_rulecolor \empty\s!black \else\p_rulecolor \fi]
+ \fi
+ \endgraf
+ \begingroup
+ \def\currentcorrespondencestyle{\v!letter:\c!fromaddress}%
+ \usecorrespondencestylestyleandcolor\c!style\c!color
+ \correspondenceparameter\c!fromaddress
+ \doifsomething{\correspondenceparameter\c!fromphone}{\\\correspondenceparameter\c!fromphone}%
+ \doifsomething{\correspondenceparameter\c!fromfax }{\\\correspondenceparameter\c!fromfax }%
+ \doifsomething{\correspondenceparameter\c!frommail }{\\\correspondenceparameter\c!frommail }%
+ \doifsomething{\correspondenceparameter\c!fromurl }{\\\correspondenceparameter\c!fromurl }%
+ \endgroup
+ \endgraf
+ \doifcommonelse{\correspondencelayeralternativeparameter\c!rule}{\v!bottom,\c!after,\v!yes}\donetrue\donefalse
+ \ifdone
+ \vskip-.5\lineheight
+ \dontleavehmode
+ \blackrule
+ [ \c!width=\ifx\p_rulewidth \empty\hsize \else\p_rulewidth \fi,
+ \c!height=\ifx\p_rulethickness\empty\linewidth\else\p_rulethickness\fi,
+ \c!color=\ifx\p_rulecolor \empty\s!black \else\p_rulecolor \fi]
+ \fi
+ \stopframed
+\stopsetups
+
+\setupcorrespondencelayeralternative
+ [\c!commandbefore=\correspondencelayerparameter\c!commandbefore,
+ \c!commandafter=\correspondencelayerparameter\c!commandafter]
+
+\startsetups[\????letterlayerrenderings:\v!head:\v!gbrief]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \correspondenceparameter\c!fromname
+ \hrule
+\stopsetups
+
+% layer: nexthead
+
+\defineletterlayeralternative[\v!nexthead:\v!gbrief ][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!gbrief ]
+\defineletterlayeralternative[\v!nexthead:\v!fullblock ][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!fullblock]
+\defineletterlayeralternative[\v!nexthead:\v!hanging ][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!hanging ]
+\defineletterlayeralternative[\v!nexthead:\v!semiblock ][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!semiblock]
+\defineletterlayeralternative[\v!nexthead:\v!simplified][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!fullblock]
+\defineletterlayeralternative[\v!nexthead:\v!modified ][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!hanging ]
+\defineletterlayeralternative[\v!nexthead:\v!knuth ][\c!renderingsetup=\????letterlayerrenderings:\v!nexthead:\v!knuth ]
+
+\startsetups[\????letterlayerrenderings:\v!nexthead:\v!gbrief]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!fromname}
+ \midaligned{\leftlettertext\c!pagenumber\subpagenumber\rightlettertext\c!pagenumber\lastsubpagenumber}
+ \llap{\correspondenceparameter\c!date}}
+ \hairline
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!nexthead:\v!fullblock]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!toname}
+ \midaligned{\subpagenumber}
+ \llap{\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=\v!left]
+ {\correspondenceparameter\c!date \\
+ \correspondenceparameter\c!reference}}}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!nexthead:\v!hanging]
+ \maxaligned
+ {\framed[\c!frame=\v!off,\c!location=\v!top,\c!align=v!right]
+ {\correspondenceparameter\c!toname \\
+ \correspondenceparameter\c!date \\
+ \correspondenceparameter\c!reference \\
+ \lettertext\c!page\subpagenumber}}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!nexthead:\v!semiblock]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!toname}
+ \midaligned{\subpagenumber}
+ \llap{\correspondenceparameter\c!date}}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!nexthead:\v!knuth]
+ \maxaligned
+ {\rlap{\correspondenceparameter\c!toname}
+ \midaligned{\currentdate}
+ \llap{\lettertext\c!page\subpagenumber}}
+\stopsetups
+
+% layer: lefthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: righthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: foot
+
+\defineletterlayeralternative[\v!foot:\v!gbrief ][\c!renderingsetup=\????letterlayerrenderings:\v!foot:\v!gbrief]
+\defineletterlayeralternative[\v!foot:\v!pagenumber][\c!renderingsetup=\????letterlayerrenderings:\v!foot:\v!pagenumber]
+
+\startsetups[\????letterlayerrenderings:\v!foot:\v!gbrief]
+ \bTABLE[\c!frame=\v!off,\c!width=.25\hsize,\c!offset=\zeropoint]
+ \bTR[\c!style=\bfxx,\c!topframe=\v!on]
+ \bTD \lettertext\c!address \eTD
+ \bTD \lettertext\c!phone \eTD
+ \bTD \lettertext\c!email \eTD
+ \bTD \lettertext\c!bank \eTD
+ \eTR
+ \bTR
+ \bTD \correspondenceparameter\c!street \\\correspondenceparameter\c!city \eTD
+ \bTD \correspondenceparameter\c!phone \eTD
+ \bTD \correspondenceparameter\c!email \eTD
+ \bTD \correspondenceparameter\c!bankname\\\correspondenceparameter\c!banknumber\\\correspondenceparameter\c!accountnumber \eTD
+ \eTR
+ \eTABLE
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!foot:\v!pagenumber]
+ \centerbox{\hbox{\begstrut\leftlettertext\c!pagenumber\subpagenumber\rightlettertext\c!pagenumber\lastsubpagenumber\endstrut}}
+\stopsetups
+
+% layer: nextfoot
+
+% setups -> see s-cor-00.mkvi
+
+% layer: leftfoot
+
+% setups -> see s-cor-00.mkvi
+
+% layer: rightfoot
+
+% setups -> see s-cor-00.mkvi
+
+% layer: address
+
+\defineletterlayeralternative[\v!address:\s!default][\c!renderingsetup=\????letterlayerrenderings:\v!address:\s!default]
+\defineletterlayeralternative[\v!address:\v!a ][\c!renderingsetup=\????letterlayerrenderings:\v!address:\v!a ]
+
+\startsetups[\????letterlayerrenderings:\v!address:\s!default]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \doifsomething{\correspondenceparameter\c!dispatch}{\correspondenceparameter\c!dispatch\\}
+ \doifsomething{\correspondenceparameter\c!toname }{\correspondenceparameter\c!toname \\}
+ \correspondenceparameter\c!toaddress
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!address:\v!a]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \doifsomethingelse{\correspondenceparameter\c!dispatch}
+ {\correspondenceparameter\c!dispatch\\} % check number of lines!
+ {\blank[2*\v!line]}
+ \doifsomething{\correspondenceparameter\c!toname}{\correspondenceparameter\c!toname\\}
+ \correspondenceparameter\c!toaddress
+\stopsetups
+
+% layer: backaddress
+
+\defineletterlayeralternative[\v!backaddress:\s!default][\c!renderingsetup=\????letterlayerrenderings:\v!backaddress:\s!default]
+\defineletterlayeralternative[\v!backaddress:\v!auto ][\c!renderingsetup=\????letterlayerrenderings:\v!backaddress:\v!auto ]
+
+\startsetups[\????letterlayerrenderings:\v!backaddress:\s!default]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromaddress}\\
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!backaddress:\v!auto]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \doifsomethingelse{\correspondenceparameter\c!backaddress}
+ {\correspondenceparameter\c!backaddress}
+ {\correspondenceparameter\c!fromname
+ \doifsomething{\correspondenceparameter\c!fromaddress}\\
+ \correspondenceparameter\c!fromaddress}
+\stopsetups
+
+% layer: reference
+
+\defineletterlayeralternative[\v!reference:\s!default][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\s!default]
+\defineletterlayeralternative[\v!reference:\v!a ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!a ]
+%defineletterlayeralternative[\v!reference:\v!top ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!a ]
+\defineletterlayeralternative[\v!reference:\v!b ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!b ]
+%defineletterlayeralternative[\v!reference:\v!block ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!b ]
+\defineletterlayeralternative[\v!reference:\v!c ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!c ]
+%defineletterlayeralternative[\v!reference:\v!line ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!c ]
+\defineletterlayeralternative[\v!reference:\v!d ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!d ]
+%defineletterlayeralternative[\v!reference:\v!table ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!d ]
+\defineletterlayeralternative[\v!reference:\v!e ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!e ]
+%defineletterlayeralternative[\v!reference:\v!width ][\c!renderingsetup=\????letterlayerrenderings:\v!reference:\v!e ]
+
+
+\startsetups[\????letterlayerrenderings:\v!reference:\s!default]
+ \correspondenceparameter\c!reference
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!reference:\v!a]
+ \ctxlua{thirddata.correspondence.letter.reference_a("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!reference:\v!b]
+ \ctxlua{thirddata.correspondence.letter.reference_b("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!reference:\v!c]
+ \ctxlua{thirddata.correspondence.letter.reference_c("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!reference:\v!d]
+ \ctxlua{thirddata.correspondence.letter.reference_d("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
+
+\startsetups[\????letterlayerrenderings:\v!reference:\v!e]
+ \ctxlua{thirddata.correspondence.letter.reference_e("\v!letter","\correspondencelayerparameter\c!list")}
+\stopsetups
+
+% layer: location
+
+\defineletterlayeralternative[\v!location:\v!french][\c!renderingsetup=\????letterlayerrenderings:\v!location:\v!french]
+
+\startsetups[\????letterlayerrenderings:\v!location:\v!french]
+ \def\\{\correspondencelayerparameter\c!separator}
+ \doifsomething{\correspondenceparameter\c!place}{\correspondenceparameter\c!place\\}
+ \correspondenceparameter\c!date
+\stopsetups
+
+% layer: topmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: botmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: cutmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: endmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: usermark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: lettermain
+
+% setups -> see s-cor-00.mkvi
+
+% layer: letternext
+
+% setups -> see s-cor-00.mkvi
+
+% section: head
+
+\definelettersectionalternative[\v!head:\v!blockstyle][\c!renderingsetup=\????lettersectionrenderings:\v!head:\v!blockstyle]
+
+\startsetups[\????lettersectionrenderings:\v!head:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+% section: date
+
+\definelettersectionalternative[\v!date:\v!blockstyle][\c!renderingsetup=\????lettersectionrenderings:\v!date:\v!blockstyle]
+
+\startsetups[\????lettersectionrenderings:\v!date:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!date
+\stopsetups
+
+% section: reference
+
+\definelettersectionalternative[\v!reference:\v!blockstyle][\c!renderingsetup=\????lettersectionrenderings:\v!reference:\v!blockstyle]
+
+\startsetups[\????lettersectionrenderings:\v!reference:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!reference
+\stopsetups
+
+% section: specialnotation
+
+\definelettersectionalternative[\v!specialnotation:\v!blockstyle][\c!renderingsetup=\????lettersectionrenderings:\v!specialnotation:\v!blockstyle]
+
+\startsetups[\????lettersectionrenderings:\v!specialnotation:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!dispatch
+\stopsetups
+
+% section: address
+
+\definelettersectionalternative[\v!address:\v!blockstyle][\c!renderingsetup=\????lettersectionrenderings:\v!address:\v!blockstyle]
+\definelettersectionalternative[\v!address:\v!knuth ][\c!renderingsetup=\????lettersectionrenderings:\v!address:\v!blockstyle]
+
+\startsetups[\????lettersectionrenderings:\v!address:\v!blockstyle]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!toname
+ \doifsomething{\correspondenceparameter\c!toname}\\
+ \correspondenceparameter\c!toaddress
+\stopsetups
+
+% section: title
+
+\definelettersectionalternative[\v!title:\s!default][\c!renderingsetup=\????lettersectionrenderings:\v!title:\s!default]
+
+\startsetups[\????lettersectionrenderings:\v!title:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \doifsomethingelse{\correspondenceparameter\c!title}
+ {\correspondenceparameter\c!title}
+ {\lettertext\c!attention\correspondenceparameter\c!attention}
+\stopsetups
+
+% section: subject
+
+\definelettersectionalternative[\v!subject:\s!default][\c!renderingsetup=\????lettersectionrenderings:\v!subject:\s!default]
+
+\startsetups[\????lettersectionrenderings:\v!subject:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \lettertext\c!subject\correspondenceparameter\c!subject
+\stopsetups
+
+% section: opening
+
+\definelettersectionalternative[\v!opening:\s!default][\c!renderingsetup=\????lettersectionrenderings:\v!opening:\s!default]
+\definelettersectionalternative[\v!opening:\v!french ][\c!renderingsetup=\????lettersectionrenderings:\v!opening:\v!french ]
+
+\startsetups[\????lettersectionrenderings:\v!opening:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \doifsomethingelse{\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!salutation}
+\stopsetups
+
+\startsetups[\????lettersectionrenderings:\v!opening:\v!french]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting]}
+ \doifsomethingelse{\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!opening}
+ {\correspondenceparameter\c!salutation}
+\stopsetups
+
+% section: content
+
+\definelettersectionalternative[\v!content:\s!default][\c!renderingsetup=\????lettersectionrenderings:\v!content:\s!default]
+
+\startsetups[\????lettersectionrenderings:\v!content:\s!default]
+ \getbufferdata[\????correspondencebuffer\v!letter]
+\stopsetups
+
+% section: closing
+
+\definelettersectionalternative[\v!closing:\s!default ][\c!renderingsetup=\????lettersectionrenderings:\v!closing:\s!default ]
+\definelettersectionalternative[\v!closing:\v!french ][\c!renderingsetup=\????lettersectionrenderings:\v!closing:\v!french ]
+\definelettersectionalternative[\v!closing:\v!simplified][\c!renderingsetup=\????lettersectionrenderings:\v!closing:\v!simplified]
+\definelettersectionalternative[\v!closing:\v!knuth ][\c!renderingsetup=\????lettersectionrenderings:\v!closing:\v!knuth ]
+
+\startsetups[\????lettersectionrenderings:\v!closing:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]
+ \correspondenceparameter\c!signature}
+\stopsetups
+
+\startsetups[\????lettersectionrenderings:\v!closing:\v!french]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \doifsomething{\correspondenceoptionparameter\c!indenting}{\setupindenting[\correspondenceoptionparameter\c!indenting,\v!first]}
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]
+ \raggedcenter\doadaptleftskip{.5\textwidth}
+ \correspondenceparameter\c!signature\endgraf}
+\stopsetups
+
+\startsetups[\????lettersectionrenderings:\v!closing:\v!simplified]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \doifsomething{\correspondenceparameter\c!signature}{\blank[\correspondencesectionparameter\c!spaceinbetween]}
+ \correspondenceparameter\c!signature
+\stopsetups
+
+\startsetups[\????lettersectionrenderings:\v!closing:\v!knuth]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \doadaptleftskip{\dimexpr\textwidth/13*8\relax}
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]
+ \correspondenceparameter\c!signature}
+\stopsetups
+
+% section: appendices
+
+\definelettersectionalternative[\v!appendices:\s!default][\c!renderingsetup=\????lettersectionrenderings:\v!appendices:\s!default]
+
+\startsetups[\????lettersectionrenderings:\v!appendices:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \startpacked
+ \processcommacommand[\correspondence_elements_access\v!letter\v!description]{\correspondence_description_place\v!letter}
+ \stoppacked
+\stopsetups
+
+% for backwards compatibility
+
+\startsetups[\v!letter:\v!place]
+\correspondence_place[\v!letter]
+\stopsetups
+
+% Extras
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \edef\p_correspondence_option_option{\correspondenceoptionparameter\c!option}%
+ \ifx\p_correspondence_option_option\empty \else
+ \processallactionsinset
+ [\correspondenceoptionparameter\c!option]
+ [ \v!test=>{\useletterstyle[test]},
+ \v!setups=>{\useletterstyle[setups]}]%
+ \fi
+ \fi
+\to \t_correspondence_before
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \edef\p_correspondence_option_marking{\correspondenceoptionparameter\c!marking}%
+ \ifx\p_correspondence_option_marking\v!yes
+ \setupletterlayer[\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark][\c!state=\v!start]%
+ \else\ifx\p_correspondence_option_marking\v!no
+ \setupletterlayer[\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark][\c!state=\v!stop ]%
+ \fi\fi
+ \fi
+\to \t_correspondence_before
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \edef\p_correspondence_option_position{\correspondenceoptionparameter\c!position}%
+ \ifx\p_correspondence_option_position\v!yes % low level code, I need a better solution for this!
+ \setbox\scratchbox\vbox
+ {\edef\currentcorrespondencelayer {\v!letter:\v!reference}%
+ \edef\currentcorrespondenceenvironment{\v!letter}%
+ \correspondence_layer_alternative_place}%
+ \normalexpanded
+ {\setupletterlayout
+ [\v!firstpage]
+ [\c!topspace=\dimexpr\namedletterlayerparameter\v!reference\c!y+\ht\scratchbox+\namedletterlayerparameter\v!reference\c!distance\relax]}%
+ \fi
+ \fi
+\to \t_correspondence_before
+
+\appendtoks
+ \ifx\currentcorrespondence\v!letter
+ \edef\p_correspondence_option_indenting{\correspondenceoptionparameter\c!indenting}%
+ \ifx\p_correspondence_option_indenting\empty \else
+ \setuplettersection[\v!content][\c!indenting=\p_correspondence_option_indenting]%
+ \fi
+ \fi
+\to \t_correspondence_before
+
+\appendtoks % provide this also for the other modules
+ \ifx\currentcorrespondence\v!letter
+ \edef\p_correspondence_addressentry{\correspondenceparameter\c!addressentry}%
+ \ifx\p_correspondence_addressentry\empty \else
+ \let\currentaddressentry\p_correspondence_addressentry
+ \fi
+ \fi
+\to \t_correspondence_before
+
+% Labels
+
+\definelabelclass [letter]
+
+% name:
+
+\setuplettertext[\s!en][\c!name=Name]
+\setuplettertext[\s!nl][\c!name=]
+\setuplettertext[\s!de][\c!name=Name]
+\setuplettertext[\s!fr][\c!name=Nom]
+\setuplettertext[\s!it][\c!name=]
+\setuplettertext[\s!es][\c!name=]
+
+% room:
+
+\setuplettertext[\s!en][\c!room=Room]
+\setuplettertext[\s!nl][\c!room=]
+\setuplettertext[\s!de][\c!room=Zimmer]
+\setuplettertext[\s!fr][\c!room=Salle] % Salle or Pièce
+\setuplettertext[\s!it][\c!room=]
+\setuplettertext[\s!es][\c!room=]
+
+% yourref:
+
+\setuplettertext[\s!en][\c!yourref=Your ref.]
+\setuplettertext[\s!nl][\c!yourref=Uw kenmerk]
+\setuplettertext[\s!de][\c!yourref=Ihr Zeichen]
+\setuplettertext[\s!fr][\c!yourref=Vos références]
+\setuplettertext[\s!it][\c!yourref=Vs./Rif.]
+\setuplettertext[\s!es][\c!yourref=Su ref.]
+
+% yourmail:
+
+\setuplettertext[\s!en][\c!yourmail=Your letter of]
+\setuplettertext[\s!nl][\c!yourmail=Uw brief van]
+\setuplettertext[\s!de][\c!yourmail=Ihre Nachricht vom]
+\setuplettertext[\s!fr][\c!yourmail=Votre lettre du]
+\setuplettertext[\s!it][\c!yourmail=Vs.~lettera del]
+\setuplettertext[\s!es][\c!yourmail=Su carta de]
+
+% myref:
+
+\setuplettertext[\s!en][\c!myref=Our ref.]
+\setuplettertext[\s!nl][\c!myref=Ons kenmerk]
+\setuplettertext[\s!de][\c!myref=Unser Zeichen]
+\setuplettertext[\s!fr][\c!myref=Nos références]
+\setuplettertext[\s!it][\c!myref=Ns./Rif.]
+\setuplettertext[\s!es][\c!myref=Nuestra ref.]
+
+% mymail:
+
+\setuplettertext[\s!en][\c!mymail=Our letter of]
+\setuplettertext[\s!nl][\c!mymail=Ons brief van]
+\setuplettertext[\s!de][\c!mymail=Unsere Nachricht vom]
+\setuplettertext[\s!fr][\c!mymail=Notre lettre du]
+\setuplettertext[\s!it][\c!mymail=]
+\setuplettertext[\s!es][\c!mymail=]
+
+% customer:
+
+\setuplettertext[\s!en][\c!customer=Customer no.]
+\setuplettertext[\s!nl][\c!customer=Klant No.]
+\setuplettertext[\s!de][\c!customer=Kundennummer]
+\setuplettertext[\s!fr][\c!customer=Numéro de client]
+\setuplettertext[\s!it][\c!customer=Nr.~cliente]
+\setuplettertext[\s!es][\c!customer=No. de cliente]
+
+% invoice:
+
+\setuplettertext[\s!en][\c!invoice=Invoice no.]
+\setuplettertext[\s!nl][\c!invoice=Rekening No.]
+\setuplettertext[\s!de][\c!invoice=Rechnungsnummer]
+\setuplettertext[\s!fr][\c!invoice=Numéro de facture]
+\setuplettertext[\s!it][\c!invoice=Nr.~fattura]
+\setuplettertext[\s!es][\c!invoice=No. de factura]
+
+% attention:
+
+\setuplettertext[\s!en][\c!attention=] % Attention
+\setuplettertext[\s!nl][\c!attention=]
+\setuplettertext[\s!de][\c!attention=]
+\setuplettertext[\s!fr][\c!attention=]
+\setuplettertext[\s!it][\c!attention=]
+\setuplettertext[\s!es][\c!attention=]
+
+% subject:
+
+\setuplettertext[\s!en][\c!subject=] % Subject
+\setuplettertext[\s!nl][\c!subject=] % Onderwerp
+\setuplettertext[\s!de][\c!subject=] % Betrifft
+\setuplettertext[\s!fr][\c!subject=] % Concernant or Sujet
+\setuplettertext[\s!it][\c!subject=] % Oggetto
+\setuplettertext[\s!es][\c!subject=] % Asunto
+
+% copy:
+
+\setuplettertext[\s!en][\c!copy=cc: ]
+\setuplettertext[\s!nl][\c!copy=Kopie aan: ]
+\setuplettertext[\s!de][\c!copy=Kopien an: ]
+\setuplettertext[\s!fr][\c!copy=Copieà: ]
+\setuplettertext[\s!it][\c!copy=Per conoscenza: ]
+\setuplettertext[\s!es][\c!copy=Copias: ]
+
+% enclosure:
+
+\setuplettertext[\s!en][\c!enclosure=encl: ]
+\setuplettertext[\s!nl][\c!enclosure=Bijlage(n): ]
+\setuplettertext[\s!de][\c!enclosure=Anlagen: ]
+\setuplettertext[\s!fr][\c!enclosure=Annexes: ]
+\setuplettertext[\s!it][\c!enclosure=Allegato: ]
+\setuplettertext[\s!es][\c!enclosure=Adjunto: ]
+
+% to:
+
+\setuplettertext[\s!en][\c!to=To]
+\setuplettertext[\s!nl][\c!to=Aan]
+\setuplettertext[\s!de][\c!to=An]
+\setuplettertext[\s!fr][\c!to=À]
+\setuplettertext[\s!it][\c!to=A]
+\setuplettertext[\s!es][\c!to=A]
+
+% toname:
+
+\setuplettertext[\s!en][\c!toname=To]
+\setuplettertext[\s!nl][\c!toname=Aan]
+\setuplettertext[\s!de][\c!toname=An]
+\setuplettertext[\s!fr][\c!toname=À]
+\setuplettertext[\s!it][\c!toname=A]
+\setuplettertext[\s!es][\c!toname=A]
+
+% from:
+
+\setuplettertext[\s!en][\c!from=From]
+\setuplettertext[\s!nl][\c!from=Van]
+\setuplettertext[\s!de][\c!from=Von]
+\setuplettertext[\s!fr][\c!from=De]
+\setuplettertext[\s!it][\c!from=Da]
+\setuplettertext[\s!es][\c!from=De]
+
+% fromname:
+
+\setuplettertext[\s!en][\c!fromname=From]
+\setuplettertext[\s!nl][\c!fromname=Van]
+\setuplettertext[\s!de][\c!fromname=Von]
+\setuplettertext[\s!fr][\c!fromname=De]
+\setuplettertext[\s!it][\c!fromname=Da]
+\setuplettertext[\s!es][\c!fromname=De]
+
+% date:
+
+\setuplettertext[\s!en][\c!date=Date]
+\setuplettertext[\s!nl][\c!date=Datum]
+\setuplettertext[\s!de][\c!date=Datum]
+\setuplettertext[\s!fr][\c!date=Date]
+\setuplettertext[\s!it][\c!date=Data]
+\setuplettertext[\s!es][\c!date=Fecha]
+
+% phone:
+
+\setuplettertext[\s!en][\c!phone=Phone]
+\setuplettertext[\s!nl][\c!phone=Telefoon]
+\setuplettertext[\s!de][\c!phone=Telefon]
+\setuplettertext[\s!fr][\c!phone=Téléphone]
+\setuplettertext[\s!it][\c!phone=Telefono]
+\setuplettertext[\s!es][\c!phone=Teléfono]
+
+% fax:
+
+\setuplettertext[\s!en][\c!fax=Fax]
+\setuplettertext[\s!nl][\c!fax=Fax]
+\setuplettertext[\s!de][\c!fax=Fax]
+\setuplettertext[\s!fr][\c!fax=Téléfax] % or Fax
+\setuplettertext[\s!it][\c!fax=Fax]
+\setuplettertext[\s!es][\c!fax=Fax]
+
+% email:
+
+\setuplettertext[\s!en][\c!email=Email]
+\setuplettertext[\s!nl][\c!email=E–mail]
+\setuplettertext[\s!de][\c!email=E-Mail]
+\setuplettertext[\s!fr][\c!email=Courriel] % Adresse électronique
+\setuplettertext[\s!it][\c!email=Email]
+\setuplettertext[\s!es][\c!email=Email]
+
+% url:
+
+\setuplettertext[\s!en][\c!url=Url]
+\setuplettertext[\s!nl][\c!url=URL]
+\setuplettertext[\s!de][\c!url=URL]
+\setuplettertext[\s!fr][\c!url=Site web]
+\setuplettertext[\s!it][\c!url=Sito Web]
+\setuplettertext[\s!es][\c!url=URL]
+
+% bank:
+
+\setuplettertext[\s!en][\c!bank=Bank account]
+\setuplettertext[\s!nl][\c!bank=Bankrekening]
+\setuplettertext[\s!de][\c!bank=Bankverbindung]
+\setuplettertext[\s!fr][\c!bank=Compte en banque]
+\setuplettertext[\s!it][\c!bank=Conto bancario]
+\setuplettertext[\s!es][\c!bank=Cuenta bancaria]
+
+% organization:
+
+\setuplettertext[\s!en][\c!organization=Organization]
+\setuplettertext[\s!nl][\c!organization=]
+\setuplettertext[\s!de][\c!organization=Organisation]
+\setuplettertext[\s!fr][\c!organization=]
+\setuplettertext[\s!it][\c!organization=]
+\setuplettertext[\s!es][\c!organization=]
+
+% city:
+
+\setuplettertext[\s!en][\c!city=City]
+\setuplettertext[\s!nl][\c!city=]
+\setuplettertext[\s!de][\c!city=Stadt]
+\setuplettertext[\s!fr][\c!city=]
+\setuplettertext[\s!it][\c!city=]
+\setuplettertext[\s!es][\c!city=]
+
+% zip:
+
+\setuplettertext[\s!en][\c!zip=Zip]
+\setuplettertext[\s!nl][\c!zip=]
+\setuplettertext[\s!de][\c!zip=PLZ]
+\setuplettertext[\s!fr][\c!zip=]
+\setuplettertext[\s!it][\c!zip=]
+\setuplettertext[\s!es][\c!zip=]
+
+% country:
+
+\setuplettertext[\s!en][\c!country=Country]
+\setuplettertext[\s!nl][\c!country=]
+\setuplettertext[\s!de][\c!country=Land]
+\setuplettertext[\s!fr][\c!country=]
+\setuplettertext[\s!it][\c!country=]
+\setuplettertext[\s!es][\c!country=]
+
+% street:
+
+\setuplettertext[\s!en][\c!street=Street]
+\setuplettertext[\s!nl][\c!street=]
+\setuplettertext[\s!de][\c!street=Straße]
+\setuplettertext[\s!fr][\c!street=]
+\setuplettertext[\s!it][\c!street=]
+\setuplettertext[\s!es][\c!street=]
+
+% page:
+
+\setuplettertext[\s!en][\c!page=Page~]
+\setuplettertext[\s!nl][\c!page=]
+\setuplettertext[\s!de][\c!page=Seite~]
+\setuplettertext[\s!fr][\c!page=]
+\setuplettertext[\s!it][\c!page=]
+\setuplettertext[\s!es][\c!page=]
+
+% pagenumber:
+
+\setuplettertext[\s!en][\c!pagenumber={Page , of }]
+\setuplettertext[\s!nl][\c!pagenumber=]
+\setuplettertext[\s!de][\c!pagenumber={Seite , von }]
+\setuplettertext[\s!fr][\c!pagenumber=]
+\setuplettertext[\s!it][\c!pagenumber=]
+\setuplettertext[\s!es][\c!pagenumber=]
+
+% address:
+
+\setuplettertext[\s!en][\c!address=Address]
+\setuplettertext[\s!nl][\c!address=]
+\setuplettertext[\s!de][\c!address=Adresse]
+\setuplettertext[\s!fr][\c!address=]
+\setuplettertext[\s!it][\c!address=]
+\setuplettertext[\s!es][\c!address=]
+
+% Files
+
+\useletterstyle[default,\currentmoduleparameter\c!style]
+
+\stopmodule
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkii
new file mode 100644
index 0000000000..69206f144a
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkii
@@ -0,0 +1,428 @@
+%D \module
+%D [ file=s-cor-02,
+%D version=2012.06.10,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Memos,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startmodule[memo]
+
+\usemodule[cor-00]
+
+\setupmodule
+ [\c!style=memo]
+
+% Commands
+
+\definecorrespondence[\v!memo]
+
+\def\definememolayer {\dodoubleargument\definecorrespondencelayer [\v!memo]}
+\def\definememosection {\dodoubleargument\definecorrespondencesection [\v!memo]}
+\def\definememodescription {\dodoubleargument\definecorrespondencedescription [\v!memo]}
+
+\def\definememoelements {\dotripleargument\definecorrespondenceelements [\v!memo]}
+\def\setupmemoelements {\dotripleargument\setupcorrespondenceelements [\v!memo]}
+
+\def\setupmemostyle {\dotripleargument\setupcorrespondencestyle [\v!memo]}
+\def\setupmemolayer {\dotripleargument\setupcorrespondencelayer [\v!memo]}
+\def\setupmemoframe {\dotripleargument\setupcorrespondenceframe [\v!memo]}
+\def\setupmemolayout {\dotripleargument\setupcorrespondencelayout [\v!memo]}
+\def\setupmemosection {\dotripleargument\setupcorrespondencesection [\v!memo]}
+\def\setupmemodescription {\dotripleargument\setupcorrespondencedescription [\v!memo]}
+\def\setupmemooptions {\dodoubleargument\setupcorrespondenceoption [\v!memo]}
+\def\setupmemo {\dodoubleargument\setupcorrespondence [\v!memo]}
+
+\def\usememostyle {\dodoubleargument\loadcorrespondencefile [\v!memo]}
+
+\def\definememoelement {\doquadrupleargument\definecorrespondenceelement [\v!memo]}
+\def\memoelement {\doquadrupleargument\placecorrespondenceelement [\v!memo]}
+
+\def\namedmemolayerparameter #1{\namedcorrespondencelayerparameter {\v!memo:#1}}
+\def\namedmemoframeparameter #1{\namedcorrespondenceframeparameter {\v!memo:#1}}
+\def\namedmemosectionparameter#1{\namedcorrespondencesectionparameter{\v!memo:#1}}
+
+% Layers
+
+\definememolayer [\v!head]
+\definememolayer [\v!nexthead]
+\definememolayer [\v!lefthead]
+\definememolayer [\v!righthead]
+
+\definememolayer [\v!foot]
+\definememolayer [\v!nextfoot]
+\definememolayer [\v!leftfoot]
+\definememolayer [\v!rightfoot]
+
+\definememolayer [\v!topmark]
+\definememolayer [\v!botmark]
+\definememolayer [\v!cutmark]
+\definememolayer [\v!endmark]
+\definememolayer [\v!usermark]
+
+\definememolayer [\v!memomain]
+\definememolayer [\v!memonext]
+
+% Section
+
+\definememosection [\v!head]
+\definememosection [\v!date]
+\definememosection [\v!reference]
+\definememosection [\v!specialnotation]
+\definememosection [\v!address]
+\definememosection [\v!title]
+\definememosection [\v!opening]
+\definememosection [\v!subject]
+\definememosection [\v!content]
+\definememosection [\v!closing]
+\definememosection [\v!appendices]
+
+% Descriptions
+
+\definememodescription [\v!copy]
+\definememodescription [\v!enclosure]
+\definememodescription [\v!postscript]
+
+% Setups
+
+% layer: head
+
+\definememoelement[\v!layer][\v!head][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!head}}
+
+% layer: nexthead
+
+\definememoelement[\v!layer][\v!nexthead][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!nexthead}}
+
+% layer: lefthead
+
+\definememoelement[\v!layer][\v!lefthead][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!lefthead}}
+
+% layer: righthead
+
+\definememoelement[\v!layer][\v!righthead][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!righthead}}
+
+% layer: foot
+
+\definememoelement[\v!layer][\v!foot][\v!pagenumber]
+ {\centerbox{\hbox{\begstrut\leftmemotext\c!pagenumber\subpagenumber\rightmemotext\c!pagenumber\lastsubpagenumber\endstrut}}}
+
+% layer: topmark
+
+\definememoelement[\v!layer][\v!topmark][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!topmark}}
+
+% layer: botmark
+
+\definememoelement[\v!layer][\v!botmark][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!botmark}}
+
+% layer: cutmark
+
+\definememoelement[\v!layer][\v!cutmark][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!cutmark}}
+
+% layer: endmark
+
+\definememoelement[\v!layer][\v!endmark][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!endmark}}
+
+% layer: usermark
+
+\definememoelement[\v!layer][\v!usermark][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!usermark}}
+
+% layer: memomain
+
+\definememoelement[\v!layer][\v!memomain][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!memomain}}
+
+% layer: memonext
+
+\definememoelement[\v!layer][\v!memonext][\v!setups]
+ {\texsetup{\v!memo:\v!layer:\v!memonext}}
+
+% section: head
+
+\definememoelement[\v!section][\v!head][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!fromaddress}
+
+\definememoelement[\v!section][\v!head][\v!memo]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \startpacked
+ \doifsomething{\correspondenceparameter\c!fromname}{\memotext\c!fromname \correspondenceparameter\c!fromname \par}
+ \doifsomething{\correspondenceparameter\c!date }{\memotext\c!date \correspondenceparameter\c!date \par}
+ \doifsomething{\correspondenceparameter\c!toname }{\memotext\c!toname \correspondenceparameter\c!toname \par}
+ \doifsomething{\correspondenceparameter\c!subject }{\memotext\c!subject \correspondenceparameter\c!subject \par}
+ \stoppacked}
+
+\unexpanded\def\doformatmemoheadTABLE#1%
+ {\doifsomething{\correspondenceparameter#1}
+ {\NC % label
+ \def\currentcorrespondencestyle{\v!memo:#1}%
+ \usecorrespondencestylestyleandcolor\c!titlestyle\c!titlecolor
+ \memotext#1
+ \EQ % text
+ \def\currentcorrespondencestyle{\v!memo:#1}%
+ \usecorrespondencestylestyleandcolor\c!textstyle\c!textcolor
+ \correspondenceparameter#1
+ \NC\NR}}
+
+\definememoelement[\v!section][\v!head][\v!table]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \starttabulate[|l|p|]
+ \doformatmemoheadTABLE\v!fromname
+ \doformatmemoheadTABLE\v!date
+ \doformatmemoheadTABLE\v!toname
+ \doformatmemoheadTABLE\v!subject
+ \stoptabulate}
+
+\unexpanded\def\doformatmemoheadMARGIN#1%
+ {\doifsomething{\correspondenceparameter#1}
+ {\def\currentcorrespondencestyle{\v!memo:#1}%
+ \dontleavehmode\llap\bgroup % label
+ \usecorrespondencestylestyleandcolor\c!titlestyle\c!titlecolor
+ \memotext#1
+ \hskip\leftmargindistance
+ \egroup
+ \bgroup
+ \usecorrespondencestylestyleandcolor\c!textstyle\c!textcolor
+ \correspondenceparameter#1
+ \egroup
+ \par}}
+
+\definememoelement[\v!section][\v!head][\v!margin]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \startpacked
+ \doformatmemoheadMARGIN\c!fromname
+ \doformatmemoheadMARGIN\c!date
+ \doformatmemoheadMARGIN\c!toname
+ \doformatmemoheadMARGIN\c!subject
+ \stoppacked}
+
+\definememoelement[\v!section][\v!head][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!head}}
+
+% section: date
+
+\definememoelement[\v!section][\v!date][\s!default]
+ {\correspondenceparameter\c!date}
+
+\definememoelement[\v!section][\v!date][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!date}}
+
+% section: reference
+
+\definememoelement[\v!section][\v!reference][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!reference}
+
+\definememoelement[\v!section][\v!reference][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!reference}}
+
+% section: specialnotation
+
+\definememoelement[\v!section][\v!specialnotation][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!dispatch}
+
+\definememoelement[\v!section][\v!specialnotation][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!specialnotation}}
+
+% section: address
+
+\definememoelement[\v!section][\v!address][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!toname
+ \doifsomething{\correspondenceparameter\c!toname}\\
+ \correspondenceparameter\c!toaddress}
+
+\definememoelement[\v!section][\v!address][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!address}}
+
+% section: title
+
+\definememoelement[\v!section][\v!title][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!title}
+
+\definememoelement[\v!section][\v!title][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!title}}
+
+% section: opening
+
+\definememoelement[\v!section][\v!opening][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!opening}
+
+\definememoelement[\v!section][\v!opening][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!opening}}
+
+% section: subject
+
+\definememoelement[\v!section][\v!subject][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \memotext\c!subject\correspondenceparameter\c!subject}
+
+\definememoelement[\v!section][\v!subject][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!subject}}
+
+% section: content
+
+\definememoelement[\v!section][\v!content][\s!default]
+ {\setupbuffer[\c!before=,\c!after=]%
+ \getbuffer [\????correspondencebuffer\v!memo]}
+
+\definememoelement[\v!section][\v!content][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!content}}
+
+% section: closing
+
+\definememoelement[\v!section][\v!closing][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]%
+ \correspondenceparameter\c!signature}}
+
+\definememoelement[\v!section][\v!closing][\v!setups]
+ {\texsetup{\v!memo:\v!section:\v!closing}}
+
+% section: appendices
+
+\definememoelement[\v!section][\v!appendices][\s!default]
+ {\def\\{\correspondencesectionparameter\c!separator}%
+ \startpacked
+ \expanded{\processcommalistwithparameters[\accesscorrespondenceelements\v!memo\v!description]}{\placecorrespondencedescription[\v!memo]}%
+ \stoppacked}
+
+\startsetups[\v!memo:\v!section:\v!appendices]
+\def\\{\correspondencesectionparameter\c!separator}
+\memoelement[\v!section][\v!appendices][\correspondencesectionparameter\c!alternative]
+\stopsetups
+
+\startsetups[\v!memo:\v!place]
+\placecorrespondence[\v!memo]
+\stopsetups
+
+% Extras
+
+\appendtoks
+ \ifx\currentcorrespondence\v!memo
+ \processallactionsinset
+ [\correspondenceoptionparameter\c!option]
+ [ \v!test=>{\usememostyle[test]},
+ \v!setups=>{\usememostyle[setups]}]%
+ \fi
+\to \everybeforecorrespondence
+
+\appendtoks
+ \ifx\currentcorrespondence\v!memo
+ \doif{\correspondenceoptionparameter\c!marking}\v!no{\setupmemolayer[\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark][\c!state=\v!stop]}%
+ \fi
+\to \everybeforecorrespondence
+
+% Labels
+
+\def\????memotext{@@@@memotext}
+
+\def\setupmemotext
+ {\dodoubleempty\dosetupmemotext}
+
+\def\dosetupmemotext[#1][#2]%
+ {\ifsecondargument
+ \def\dodosetupmemotext##1{\setuplabeltext[#1][\????memotext##1]}%
+ \processcommalist[#2]\dodosetupmemotext
+ \else
+ \def\dodosetupmemotext##1{\setuplabeltext [\????memotext##1]}%
+ \processcommalist[#1]\dodosetupmemotext
+ \fi}
+
+\def\memotext #1{\labeltext {\????memotext#1}}
+\def\leftmemotext #1{\leftlabeltext {\????memotext#1}}
+\def\rightmemotext#1{\rightlabeltext{\????memotext#1}}
+
+% pagenumber:
+
+\setupmemotext[\s!en][\c!pagenumber={Page , of }]
+\setupmemotext[\s!nl][\c!pagenumber=]
+\setupmemotext[\s!de][\c!pagenumber={Seite , von }]
+\setupmemotext[\s!fr][\c!pagenumber=]
+\setupmemotext[\s!it][\c!pagenumber=]
+\setupmemotext[\s!es][\c!pagenumber=]
+
+% date:
+
+\setupmemotext[\s!en][\c!date=Date: ]
+\setupmemotext[\s!nl][\c!date=Datum: ]
+\setupmemotext[\s!de][\c!date=Datum: ]
+\setupmemotext[\s!fr][\c!date=Date\thinspace: ]
+\setupmemotext[\s!it][\c!date=Data: ]
+\setupmemotext[\s!es][\c!date=Fecha: ]
+
+% fromname:
+
+\setupmemotext[\s!en][\c!fromname=From: ]
+\setupmemotext[\s!nl][\c!fromname=Van: ]
+\setupmemotext[\s!de][\c!fromname=Von: ]
+\setupmemotext[\s!fr][\c!fromname=De\thinspace: ]
+\setupmemotext[\s!it][\c!fromname=Da: ]
+\setupmemotext[\s!es][\c!fromname=De: ]
+
+% toname:
+
+\setupmemotext[\s!en][\c!toname=To: ]
+\setupmemotext[\s!nl][\c!toname=Aan: ]
+\setupmemotext[\s!de][\c!toname=An: ]
+\setupmemotext[\s!fr][\c!toname=\Agrave\thinspace: ]
+\setupmemotext[\s!it][\c!toname=A: ]
+\setupmemotext[\s!es][\c!toname=A: ]
+
+% subject:
+
+\setupmemotext[\s!en][\c!subject=Subject: ]
+\setupmemotext[\s!nl][\c!subject=Onderwerp: ]
+\setupmemotext[\s!de][\c!subject=Betrifft: ]
+\setupmemotext[\s!fr][\c!subject=Concernant\thinspace: ]
+\setupmemotext[\s!it][\c!subject=Oggetto: ]
+\setupmemotext[\s!es][\c!subject=Asunto: ]
+
+% address:
+
+\setupmemotext[\s!en][\c!address=Address]
+\setupmemotext[\s!nl][\c!address=]
+\setupmemotext[\s!de][\c!address=Adresse]
+\setupmemotext[\s!fr][\c!address=]
+\setupmemotext[\s!it][\c!address=]
+\setupmemotext[\s!es][\c!address=]
+
+% Files
+
+\usememostyle[default,\currentmoduleparameter\c!style]
+
+\stopmodule
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkvi b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkvi
new file mode 100644
index 0000000000..e4c3efea32
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-02.mkvi
@@ -0,0 +1,419 @@
+%D \module
+%D [ file=s-cor-02,
+%D version=2012.12.09,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Memos,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startmodule[memo]
+
+\usemodule[cor-00]
+
+\setupmodule
+ [\c!style=memo]
+
+% Namespaces
+
+\installnamespace {memolayerrenderings}
+\installnamespace {memosectionrenderings}
+
+% Commands
+
+\definecorrespondence[\v!memo]
+
+\def\definememolayer {\dodoubleargument\correspondence_layer_define [\v!memo]}
+\def\definememosection {\dodoubleargument\correspondence_section_define [\v!memo]}
+\def\definememodescription {\dodoubleargument\correspondence_description_define [\v!memo]}
+\def\definememohead {\dodoubleargument\correspondence_head_define [\v!memo]}
+
+\def\definememolayeralternative {\doquadrupleempty\correspondence_layer_alternative_define [\v!memo]}
+\def\definememosectionalternative {\doquadrupleempty\correspondence_section_alternative_define [\v!memo]}
+
+\def\definememoelements {\dotripleargument\correspondence_elements_define [\v!memo]}
+\def\setupmemoelements {\dotripleargument\correspondence_elements_define [\v!memo]}
+
+\def\setupmemostyle {\dotripleargument\correspondence_style_setup [\v!memo]}
+\def\setupmemolayer {\dotripleargument\correspondence_layer_setup [\v!memo]}
+\def\setupmemoframe {\dotripleargument\correspondence_frame_setup [\v!memo]}
+\def\setupmemolayout {\dotripleargument\correspondence_layout_setup [\v!memo]}
+\def\setupmemosection {\dotripleargument\correspondence_section_setup [\v!memo]}
+\def\setupmemodescription {\dotripleargument\correspondence_description_setup [\v!memo]}
+\def\setupmemohead {\dotripleargument\correspondence_head_setup [\v!memo]}
+\def\setupmemooptions {\dodoubleargument\correspondence_option_setup [\v!memo]}
+\def\setupmemo {\dodoubleargument\correspondence_setup [\v!memo]}
+
+\def\setupmemolayeralternative {\dotripleargument\correspondence_layer_alternative_setup [\v!memo]}
+\def\setupmemosectionalternative {\dotripleargument\correspondence_section_alternative_setup [\v!memo]}
+
+\def\usememostyle {\dodoubleargument\correspondence_file_load [\v!memo]}
+
+\def\definememoelement {\doquadrupleargument\correspondence_element_define [\v!memo]}
+\def\memoelement {\doquadrupleargument\correspondence_element_place [\v!memo]}
+
+\def\namedmemolayerparameter #element{\namedcorrespondencelayerparameter {\v!memo:#element}}
+\def\namedmemoframeparameter #element{\namedcorrespondenceframeparameter {\v!memo:#element}}
+\def\namedmemosectionparameter#element{\namedcorrespondencesectionparameter{\v!memo:#element}}
+
+% Heading
+
+\definememohead [\v!memo\v!section]
+\definememohead [\v!memo\v!subsection]
+
+% Layers
+
+\definememolayer [\v!head]
+\definememolayer [\v!nexthead]
+\definememolayer [\v!lefthead]
+\definememolayer [\v!righthead]
+
+\definememolayer [\v!foot]
+\definememolayer [\v!nextfoot]
+\definememolayer [\v!leftfoot]
+\definememolayer [\v!rightfoot]
+
+\definememolayer [\v!topmark]
+\definememolayer [\v!botmark]
+\definememolayer [\v!cutmark]
+\definememolayer [\v!endmark]
+\definememolayer [\v!usermark]
+
+\definememolayer [\v!memomain]
+\definememolayer [\v!memonext]
+
+% Section
+
+\definememosection [\v!head]
+\definememosection [\v!date]
+\definememosection [\v!reference]
+\definememosection [\v!specialnotation]
+\definememosection [\v!address]
+\definememosection [\v!title]
+\definememosection [\v!opening]
+\definememosection [\v!subject]
+\definememosection [\v!content]
+\definememosection [\v!closing]
+\definememosection [\v!appendices]
+
+% Descriptions
+
+\definememodescription [\v!copy]
+\definememodescription [\v!enclosure]
+\definememodescription [\v!postscript]
+
+% Setups
+
+% layer: head
+
+% setups -> see s-cor-00.mkvi
+
+% layer: nexthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: lefthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: righthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: foot
+
+\definememolayeralternative[\v!foot:\v!pagenumber][\c!renderingsetup=\????memosectionrenderings:\v!foot:\v!pagenumber]
+
+\startsetups[\????memosectionrenderings:\v!foot:\v!pagenumber]
+ \centerbox{\hbox{\begstrut\leftmemotext\c!pagenumber\subpagenumber\rightmemotext\c!pagenumber\lastsubpagenumber\endstrut}}
+\stopsetups
+
+% layer: topmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: botmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: cutmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: endmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: usermark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: memomain
+
+% setups -> see s-cor-00.mkvi
+
+% layer: memonext
+
+% setups -> see s-cor-00.mkvi
+
+% section: head
+
+\definememosectionalternative[\v!head:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!head:\s!default]
+\definememosectionalternative[\v!head:\v!memo ][\c!renderingsetup=\????memosectionrenderings:\v!head:\v!memo ]
+\definememosectionalternative[\v!head:\v!table ][\c!renderingsetup=\????memosectionrenderings:\v!head:\v!table ]
+\definememosectionalternative[\v!head:\v!margin ][\c!renderingsetup=\????memosectionrenderings:\v!head:\v!margin ]
+
+\startsetups[\????memosectionrenderings:\v!memo:\v!head:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+\startsetups[\???memosectionrenderings\v!head:\v!memo]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \startpacked
+ \doifsomething{\correspondenceparameter\c!fromname}{\memotext\c!fromname \correspondenceparameter\c!fromname \par}
+ \doifsomething{\correspondenceparameter\c!date }{\memotext\c!date \correspondenceparameter\c!date \par}
+ \doifsomething{\correspondenceparameter\c!toname }{\memotext\c!toname \correspondenceparameter\c!toname \par}
+ \doifsomething{\correspondenceparameter\c!subject }{\memotext\c!subject \correspondenceparameter\c!subject \par}
+ \stoppacked
+\stopsetups
+
+\unexpanded\def\correspondence_memo_head_table#element%
+ {\doifsomething{\correspondenceparameter#element}
+ {\NC % label
+ \def\currentcorrespondencestyle{\v!memo:#element}%
+ \usecorrespondencestylestyleandcolor\c!titlestyle\c!titlecolor
+ \memotext#element
+ \EQ % text
+ \def\currentcorrespondencestyle{\v!memo:#element}%
+ \usecorrespondencestylestyleandcolor\c!textstyle\c!textcolor
+ \correspondenceparameter#element
+ \NC\NR}}
+
+\startsetups[\????memosectionrenderings:\v!head:\v!table]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \starttabulate[|l|p|]
+ \correspondence_memo_head_table\c!fromname
+ \correspondence_memo_head_table\c!date
+ \correspondence_memo_head_table\c!toname
+ \correspondence_memo_head_table\c!subject
+ \stoptabulate
+\stopsetups
+
+\unexpanded\def\correspondence_memo_head_margin#element%
+ {\doifsomething{\correspondenceparameter#element}
+ {\def\currentcorrespondencestyle{\v!memo:#element}%
+ \dontleavehmode\llap\bgroup % label
+ \usecorrespondencestylestyleandcolor\c!titlestyle\c!titlecolor
+ \memotext#element
+ \hskip\leftmargindistance
+ \egroup
+ \bgroup
+ \usecorrespondencestylestyleandcolor\c!textstyle\c!textcolor
+ \correspondenceparameter#element
+ \egroup
+ \par}}
+
+\startsetups[\????memosectionrenderings:\v!head:\v!margin]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \startpacked
+ \correspondence_memo_head_margin\c!fromname
+ \correspondence_memo_head_margin\c!date
+ \correspondence_memo_head_margin\c!toname
+ \correspondence_memo_head_margin\c!subject
+ \stoppacked
+\stopsetups
+
+% section: date
+
+\definememosectionalternative[\v!date:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!date:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!date:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!date
+\stopsetups
+
+% section: reference
+
+\definememosectionalternative[\v!reference:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!reference:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!reference:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!reference
+\stopsetups
+
+% section: specialnotation
+
+\definememosectionalternative[\v!specialnotation:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!specialnotation:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!specialnotation:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!dispatch
+\stopsetups
+
+% section: address
+
+\definememosectionalternative[\v!address:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!address:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!address:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!toname
+ \doifsomething{\correspondenceparameter\c!toname}\\
+ \correspondenceparameter\c!toaddress
+\stopsetups
+
+% section: title
+
+\definememosectionalternative[\v!title:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!title:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!title:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!title
+\stopsetups
+
+% section: opening
+
+\definememosectionalternative[\v!opening:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!opening:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!opening:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!opening
+\stopsetups
+
+% section: subject
+
+\definememosectionalternative[\v!subject:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!subject:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!subject:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \memotext\c!subject\correspondenceparameter\c!subject
+\stopsetups
+
+% section: content
+
+\definememosectionalternative[\v!content:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!content:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!content:\s!default]
+ \getbufferdata[\????correspondencebuffer\v!memo]
+\stopsetups
+
+% section: closing
+
+\definememosectionalternative[\v!closing:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!closing:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!closing:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!closing
+ \doifsomething{\correspondenceparameter\c!signature}
+ {\blank[\correspondencesectionparameter\c!spaceinbetween]
+ \correspondenceparameter\c!signature}
+\stopsetups
+
+% section: appendices
+
+\definememosectionalternative[\v!appendices:\s!default][\c!renderingsetup=\????memosectionrenderings:\v!appendices:\s!default]
+
+\startsetups[\????memosectionrenderings:\v!appendices:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \startpacked
+ \normalexpanded{\processcommalistwithparameters[\correspondence_elements_access\v!memo\v!description]}{\correspondence_description_place[\v!memo]}
+ \stoppacked
+\stopsetups
+
+% for backwards compatibility
+
+\startsetups[\v!memo:\v!place]
+\correspondence_place[\v!memo]
+\stopsetups
+
+% Extras
+
+\appendtoks
+ \ifx\currentcorrespondence\v!memo
+ \processallactionsinset
+ [\correspondenceoptionparameter\c!option]
+ [ \v!test=>{\usememostyle[test]},
+ \v!setups=>{\usememostyle[setups]}]%
+ \fi
+\to \t_correspondence_before
+
+\appendtoks
+ \ifx\currentcorrespondence\v!memo
+ \doif{\correspondenceoptionparameter\c!marking}\v!no{\setupmemolayer[\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark][\c!state=\v!stop]}%
+ \fi
+\to \t_correspondence_before
+
+% Labels
+
+\definelabelclass[memo]
+
+% pagenumber:
+
+\setupmemotext[\s!en][\c!pagenumber={Page , of }]
+\setupmemotext[\s!nl][\c!pagenumber=]
+\setupmemotext[\s!de][\c!pagenumber={Seite , von }]
+\setupmemotext[\s!fr][\c!pagenumber=]
+\setupmemotext[\s!it][\c!pagenumber=]
+\setupmemotext[\s!es][\c!pagenumber=]
+
+% date:
+
+\setupmemotext[\s!en][\c!date=Date: ]
+\setupmemotext[\s!nl][\c!date=Datum: ]
+\setupmemotext[\s!de][\c!date=Datum: ]
+\setupmemotext[\s!fr][\c!date=Date\thinspace: ]
+\setupmemotext[\s!it][\c!date=Data: ]
+\setupmemotext[\s!es][\c!date=Fecha: ]
+
+% fromname:
+
+\setupmemotext[\s!en][\c!fromname=From: ]
+\setupmemotext[\s!nl][\c!fromname=Van: ]
+\setupmemotext[\s!de][\c!fromname=Von: ]
+\setupmemotext[\s!fr][\c!fromname=De\thinspace: ]
+\setupmemotext[\s!it][\c!fromname=Da: ]
+\setupmemotext[\s!es][\c!fromname=De: ]
+
+% toname:
+
+\setupmemotext[\s!en][\c!toname=To: ]
+\setupmemotext[\s!nl][\c!toname=Aan: ]
+\setupmemotext[\s!de][\c!toname=An: ]
+\setupmemotext[\s!fr][\c!toname=À\thinspace: ]
+\setupmemotext[\s!it][\c!toname=A: ]
+\setupmemotext[\s!es][\c!toname=A: ]
+
+% subject:
+
+\setupmemotext[\s!en][\c!subject=Subject: ]
+\setupmemotext[\s!nl][\c!subject=Onderwerp: ]
+\setupmemotext[\s!de][\c!subject=Betrifft: ]
+\setupmemotext[\s!fr][\c!subject=Concernant\thinspace: ]
+\setupmemotext[\s!it][\c!subject=Oggetto: ]
+\setupmemotext[\s!es][\c!subject=Asunto: ]
+
+% Files
+
+\usememostyle[default,\currentmoduleparameter\c!style]
+
+\stopmodule
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-03.mkvi b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-03.mkvi
new file mode 100644
index 0000000000..efacae35e9
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-03.mkvi
@@ -0,0 +1,340 @@
+%D \module
+%D [ file=s-cor-03,
+%D version=2012.12.13,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Resume,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startmodule[resume]
+
+\usemodule[cor-00]
+
+\setupmodule
+ [\c!style=]
+
+% Namespaces
+
+\installnamespace {resumelayerrenderings}
+\installnamespace {resumesectionrenderings}
+
+% Commands
+
+\definecorrespondence[\v!resume]
+
+\def\defineresumelayer {\dodoubleargument\correspondence_layer_define [\v!resume]}
+\def\defineresumesection {\dodoubleargument\correspondence_section_define [\v!resume]}
+\def\defineresumedescription {\dodoubleargument\correspondence_description_define [\v!resume]}
+\def\defineresumehead {\dodoubleargument\correspondence_head_define [\v!resume]}
+\def\defineresumeparagraph {\dodoubleargument\correspondence_paragraph_define [\v!resume]}
+
+\def\defineresumelayeralternative {\doquadrupleempty\correspondence_layer_alternative_define [\v!resume]}
+\def\defineresumesectionalternative {\doquadrupleempty\correspondence_section_alternative_define [\v!resume]}
+\def\defineresumeheadalternative {\doquadrupleempty\correspondence_head_alternative_define [\v!resume]}
+\def\defineresumeparagraphalternative {\doquadrupleempty\correspondence_paragraph_alternative_define [\v!resume]}
+
+\def\defineresumeelements {\dotripleargument\correspondence_elements_define [\v!resume]}
+\def\setupresumeelements {\dotripleargument\correspondence_elements_define [\v!resume]}
+
+\def\setupresumestyle {\dotripleargument\correspondence_style_setup [\v!resume]}
+\def\setupresumelayer {\dotripleargument\correspondence_layer_setup [\v!resume]}
+\def\setupresumeframe {\dotripleargument\correspondence_frame_setup [\v!resume]}
+\def\setupresumelayout {\dotripleargument\correspondence_layout_setup [\v!resume]}
+\def\setupresumesection {\dotripleargument\correspondence_section_setup [\v!resume]}
+\def\setupresumedescription {\dotripleargument\correspondence_description_setup [\v!resume]}
+\def\setupresumehead {\dotripleargument\correspondence_head_setup [\v!resume]}
+\def\setupresumeparagraph {\dotripleargument\correspondence_paragraph_setup [\v!resume]}
+\def\setupresumeoptions {\dodoubleargument\correspondence_option_setup [\v!resume]}
+\def\setupresume {\dodoubleargument\correspondence_setup [\v!resume]}
+
+\def\setupresumelayeralternative {\dotripleargument\correspondence_layer_alternative_setup [\v!resume]}
+\def\setupresumesectionalternative {\dotripleargument\correspondence_section_alternative_setup [\v!resume]}
+\def\setupresumeheadalternative {\dotripleargument\correspondence_head_alternative_setup [\v!resume]}
+\def\setupresumeparagraphalternative {\dotripleargument\correspondence_paragraph_alternative_setup [\v!resume]}
+
+\def\useresumestyle {\dodoubleargument\correspondence_file_load [\v!resume]}
+
+\def\defineresumeelement {\doquadrupleargument\correspondence_element_define [\v!resume]}
+\def\resumeelement {\doquadrupleargument\correspondence_element_place [\v!resume]}
+
+\def\namedresumelayerparameter #element{\namedcorrespondencelayerparameter {\v!resume:#element}}
+\def\namedresumeframeparameter #element{\namedcorrespondenceframeparameter {\v!resume:#element}}
+\def\namedresumesectionparameter #element{\namedcorrespondencesectionparameter {\v!resume:#element}}
+\def\namedresumeparagraphparameter#element{\namedcorrespondenceparagraphparameter{\v!resume:#element}}
+
+% Heading
+
+\defineresumehead [\v!resume\v!section]
+\defineresumehead [\v!resume\v!subsection]
+
+% Paragraphs
+
+\defineresumeparagraph [\v!resume\v!paragraph]
+\defineresumeparagraph [\v!two\v!columns]
+\defineresumeparagraph [\v!three\v!columns]
+
+% Layers
+
+\defineresumelayer [\v!head]
+\defineresumelayer [\v!nexthead]
+\defineresumelayer [\v!lefthead]
+\defineresumelayer [\v!righthead]
+
+\defineresumelayer [\v!foot]
+\defineresumelayer [\v!nextfoot]
+\defineresumelayer [\v!leftfoot]
+\defineresumelayer [\v!rightfoot]
+
+\defineresumelayer [\v!topmark]
+\defineresumelayer [\v!botmark]
+\defineresumelayer [\v!cutmark]
+\defineresumelayer [\v!endmark]
+\defineresumelayer [\v!usermark]
+
+\defineresumelayer [\v!resumemain]
+\defineresumelayer [\v!resumenext]
+
+% Section
+
+\defineresumesection [\v!head]
+\defineresumesection [\v!content]
+\defineresumesection [\v!closing]
+
+% Setups
+
+% layer: head
+
+% setups -> see s-cor-00.mkvi
+
+% layer: nexthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: lefthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: righthead
+
+% setups -> see s-cor-00.mkvi
+
+% layer: foot
+
+\defineresumelayeralternative[\v!foot:\v!casual][\c!renderingsetup=\????resumelayerrenderings:\v!foot:\v!casual]
+
+\def\resumefootalternativecasual[#1][#2]% Can I make a generic version?
+ {\bgroup
+ \def\resumefootalternativecasual##1%
+ {\doifresumevalue{##1}{\advance\scratchcounter\plusone}}%
+ \def\doresumefootsingleelement##1%
+ {\doifresumevalue{##1}{\attributedresumevalue{#1}}}%
+ \def\doresumefootmultipleelement##1%
+ {\doifresumevalue{##1}
+ {\advance\scratchcounter\plusone
+ \attributedresumevalue{##1}
+ \unless\ifnum\scratchcounter=\resumefootvalues
+ #2%
+ \fi}}%
+ \scratchcounter\zerocount
+ \processcommalist[#1]\resumefootalternativecasual
+ \edef\resumefootvalues{\number\scratchcounter}%
+ \scratchcounter\zerocount
+ \ifnum\resumefootvalues>0
+ \ifnum\resumefootvalues=1
+ \processcommalist[#1]\doresumefootsingleelement
+ \else
+ \processcommalist[#1]\doresumefootmultipleelement
+ \fi
+ \fi
+ \egroup}
+
+\def\m_correspondence_resume_foot_casual#element%
+ {\ifvoid\scratchboxone
+ \doifsomething{\correspondenceparameter{#element}}{\setbox\scratchboxone\hbox{\formattedcorrespondenceparameter{#element}}}%
+ \else
+ \doifsomething{\correspondenceparameter{#element}}
+ {\setbox\scratchboxtwo\box\scratchboxone
+ \setbox\scratchboxone\hbox{\copy\scratchboxtwo \quad\color[resume:separator]{\symbol[bullet]}\quad \formattedcorrespondenceparameter{#element}}%
+ \ifdim\wd\scratchboxone>\hsize
+ \unhbox\scratchboxtwo\endgraf
+ \setbox\scratchboxone\hbox{\formattedcorrespondenceparameter{#element}}%
+ \fi}%
+ \fi}
+
+\startsetups[\????resumelayerrenderings:\v!foot:\v!casual]
+ \doifsomething{\correspondenceparameter{street}}
+ {\formattedcorrespondenceparameter{street}
+ \doifsomething{\correspondenceparameter{town}}{\quad\color[resume:separator]{\symbol[dash]}\quad}}
+ \doifsomething{\correspondenceparameter{town}}{\formattedcorrespondenceparameter{town}}
+ \par
+ \setbox\scratchboxone\box\voidbox
+ %\processcommalist[mobile,phone,fax,email,info]\m_correspondence_resume_foot_casual
+ \processcommacommand[\correspondencelayerparameter\c!list]\m_correspondence_resume_foot_casual
+ \unhbox\scratchboxone
+\stopsetups
+
+% layer: nextfoot
+
+\defineresumelayeralternative[\v!nextfoot:\v!casual ][\c!renderingsetup=\????resumelayerrenderings:\v!nextfoot:\v!casual ]
+\defineresumelayeralternative[\v!nextfoot:\v!classic][\c!renderingsetup=\????resumelayerrenderings:\v!nextfoot:\v!classic]
+
+\startsetups[\????resumelayerrenderings:\v!nextfoot:\v!casual]
+ \color[resume:address]{\it\subpagenumber/\lastsubpagenumber}
+\stopsetups
+
+\startsetups[\????resumelayerrenderings:\v!nextfoot:\v!classic]
+ \color[resume:quote]{\it\subpagenumber/\lastsubpagenumber}
+\stopsetups
+
+% layer: topmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: botmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: cutmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: endmark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: usermark
+
+% setups -> see s-cor-00.mkvi
+
+% layer: resumemain
+
+% setups -> see s-cor-00.mkvi
+
+% layer: resumenext
+
+% setups -> see s-cor-00.mkvi
+
+% section: head
+
+\defineresumesectionalternative[\v!head:\s!default][\c!renderingsetup=\????resumesectionrenderings:\v!head:\s!default]
+
+\startsetups[\????resumesectionrenderings:\v!head:\s!default]
+ \def\\{\correspondencesectionparameter\c!separator}
+ \correspondenceparameter\c!fromaddress
+\stopsetups
+
+\defineresumesectionalternative[\v!head:\v!casual][\c!renderingsetup=\????resumesectionrenderings:\v!head:\v!casual]
+
+\startsetups[\????resumesectionrenderings:\v!head:\v!casual]
+ \hbox to\hsize\bgroup
+ \framed[\c!offset=2\points,\c!strut=\v!no,\c!framecolor=resume:forename]{\correspondenceparameter{image}}
+ \hfill
+ \hbox\bgroup
+ \formattedcorrespondenceparameter{firstname}
+ \space
+ \formattedcorrespondenceparameter{familyname}
+ \egroup
+ \egroup
+ \vskip-\baselineskip
+ \blank[\v!medium]
+ \blackrule[\c!height=2\linewidth,\c!width=\hsize,\c!color=resume:1]
+ \doifsomething{\correspondenceparameter{quote}}
+ {\blank[\v!line]
+ \midaligned{\formattedcorrespondenceparameter{quote}}}
+\stopsetups
+
+\defineresumesectionalternative[\v!head:\v!classic][\c!renderingsetup=\????resumesectionrenderings:\v!head:\v!classic]
+
+\startsetups[\????resumesectionrenderings:\v!head:\v!classic]
+ \hbox to \hsize\bgroup
+ \vbox\bgroup
+ \hbox{\formattedcorrespondenceparameter{firstname}\space\formattedcorrespondenceparameter{familyname}}
+ \doifsomething{\correspondenceparameter{title}}
+ {\blank[\v!medium]
+ \hbox{\formattedcorrespondenceparameter{title}}}
+ \egroup
+ \hfill
+ \startframed[\c!location=\v!bottom,\c!align=\v!left,\c!width=\v!fit,\c!frame=\v!off]
+ \doifsomething{\correspondenceparameter{street}}{\formattedcorrespondenceparameter{street}\\}
+ \doifsomething{\correspondenceparameter {town}}{\formattedcorrespondenceparameter {town}\\}
+ \doifsomething{\correspondenceparameter{mobile}}{\formattedcorrespondenceparameter{mobile}\\}
+ \doifsomething{\correspondenceparameter {phone}}{\formattedcorrespondenceparameter {phone}\\}
+ \doifsomething{\correspondenceparameter {fax}}{\formattedcorrespondenceparameter {fax}\\}
+ \doifsomething{\correspondenceparameter {email}}{\formattedcorrespondenceparameter {email}\\}
+ \doifsomething{\correspondenceparameter {info}}{\formattedcorrespondenceparameter {info}\\}
+ \stopframed
+ \quad
+ \framed[\c!offset=2\points,\c!strut=\v!no]{\correspondenceparameter{image}}
+ \egroup
+\stopsetups
+
+% section: content
+
+\defineresumesectionalternative[\v!content:\s!default][\c!renderingsetup=\????resumesectionrenderings:\v!content:\s!default]
+
+\startsetups[\????resumesectionrenderings:\v!content:\s!default]
+ \getbufferdata[\????correspondencebuffer\v!resume]
+\stopsetups
+
+% section: closing
+
+% setups -> see s-cor-00.mkvi
+
+% paragraph:
+
+
+
+% Extras
+
+\appendtoks
+ \ifx\currentcorrespondence\v!resume
+ \doif{\correspondenceoptionparameter\c!marking}\v!no{\setupresumelayer[\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark][\c!state=\v!stop]}%
+ \fi
+\to \t_correspondence_before
+
+\appendtoks
+ \ifx\currentcorrespondence\v!resume
+ \edef\p_correspondence_option_position{\correspondenceoptionparameter\c!position}%
+ \ifx\p_correspondence_option_position\v!yes % low level code, I need a better solution for this!
+ \setbox\scratchbox\vbox
+ {\edef\currentcorrespondencelayer {\v!resume:\v!head}%
+ \edef\currentcorrespondenceenvironment{\v!resume}%
+ \correspondence_layer_alternative_place}%
+ \normalexpanded
+ {\setupresumelayout
+ [\v!firstpage]
+ [\c!topspace=\dimexpr\namedresumelayerparameter\v!head\c!y+\ht\scratchbox+\namedresumelayerparameter\v!head\c!distance\relax]}%
+ \fi
+ \fi
+\to \t_correspondence_before
+
+% Labels
+
+\definelabelclass[resume]
+
+% Files
+
+\useresumestyle[default,\currentmoduleparameter\c!style]
+
+\stopmodule
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-06.mkvi b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-06.mkvi
new file mode 100644
index 0000000000..6d541bbbaa
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/s-cor-06.mkvi
@@ -0,0 +1,55 @@
+%D \module
+%D [ file=s-cor-06,
+%D version=2012.09.21,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Address entries,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\installnamespace {addressentry}
+\installcommandhandler \????addressentry {addressentry} \????addressentry
+
+\appendtoks
+ \addressentryparameter\c!reset
+\to \everypresetaddressentry
+
+\appendtoks
+ \addressentryparameter\c!set
+\to \everydefineaddressentry
+
+\unexpanded\def\addressentry
+ {\dodoubleempty\addressentry_cmd}
+
+\def\addressentry_cmd[#id][#key]%
+ {\begingroup
+ \ifsecondargument
+ \edef\currentaddressentry {#id}%
+ \edef\currentaddressentrykey{#key}%
+ \else
+ \edef\currentaddressentrykey{#id}%
+ \fi
+ \addressentryparameter\currentaddressentrykey
+ \endgroup}
+
+\stopmodule
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkii
new file mode 100644
index 0000000000..625f7ecab5
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkii
@@ -0,0 +1,30 @@
+%D \module
+%D [ file=t-letter,
+%D version=2011.12.15,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Letters,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\usemodule[cor-01]
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkiv
new file mode 100644
index 0000000000..7baa52c34a
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-letter.mkiv
@@ -0,0 +1,66 @@
+%D \module
+%D [ file=t-letter,
+%D version=2011.12.16,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Letters,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startinterface all
+ \setinterfacevariable {letter} {letter}
+\stopinterface
+
+\def\useletterstyle {\dosingleargument\gobbleoneoptional}
+
+\def\setupletter {\dosingleargument\gobbleoneoptional}
+\def\setupletterstyle {\dodoubleargument\gobbletwooptionals}
+\def\setupletterlayer {\dodoubleargument\gobbletwooptionals}
+\def\setupletterframe {\dodoubleargument\gobbletwooptionals}
+\def\setupletterlayout {\dodoubleargument\gobbletwooptionals}
+\def\setuplettersection {\dodoubleargument\gobbletwooptionals}
+\def\setupletterdescription {\dodoubleargument\gobbletwooptionals}
+\def\setupletteroptions {\dodoubleargument\gobbletwooptionals}
+\def\setuplettertext {\dodoubleargument\gobbletwooptionals}
+
+\def\defineletterelements {\dodoubleargument\gobbletwooptionals}
+\def\setupletterelements {\dodoubleargument\gobbletwooptionals}
+
+\def\letterelement {\dotripleargument\gobblethreeoptionals}
+
+\def\defineletterelement
+ {\dotripleargument\dodefineletterelement}
+
+\def\dodefineletterelement[#1][#2][#3]#4{}
+
+\setvalue{\e!start\v!letter}%
+ {\starttext
+ \dostartbuffer[\v!letter][\e!start\v!letter][\e!stop\v!letter]}
+
+\setvalue{\e!stop\v!letter}%
+ {\startstandardmakeup[\c!align=\v!middle,\c!style=\ttd\setupinterlinespace]
+ The \MKIV\ version of the \CONTEXT\ letter module requires a installation from \date[d=14,m=12,y=2011][year,.,mm,.,dd] or newer but the version you’re using is \contextversion.
+ \blank[2*\v!line]
+ You can either use the \MKII\ version of the module or install the \CONTEXT\ Suite from the http://wiki.contextgarden.net.
+ \stopstandardmakeup
+ \stoptext}
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkii
new file mode 100644
index 0000000000..541ffa0830
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkii
@@ -0,0 +1,30 @@
+%D \module
+%D [ file=t-memo,
+%D version=2011.12.15,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Memos,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\usemodule[cor-02]
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkiv
new file mode 100644
index 0000000000..e859aee477
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/base/t-memo.mkiv
@@ -0,0 +1,66 @@
+%D \module
+%D [ file=t-memo,
+%D version=2011.12.16,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Memos,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\unprotect
+
+\startinterface all
+ \setinterfacevariable {memo} {memo}
+\stopinterface
+
+\def\usememostyle {\dosingleargument\gobbleoneoptional}
+
+\def\setupmemo {\dosingleargument\gobbleoneoptional}
+\def\setupmemostyle {\dodoubleargument\gobbletwooptionals}
+\def\setupmemolayer {\dodoubleargument\gobbletwooptionals}
+\def\setupmemoframe {\dodoubleargument\gobbletwooptionals}
+\def\setupmemolayout {\dodoubleargument\gobbletwooptionals}
+\def\setupmemosection {\dodoubleargument\gobbletwooptionals}
+\def\setupmemodescription {\dodoubleargument\gobbletwooptionals}
+\def\setupmemooptions {\dodoubleargument\gobbletwooptionals}
+\def\setupmemotext {\dodoubleargument\gobbletwooptionals}
+
+\def\definememoelements {\dodoubleargument\gobbletwooptionals}
+\def\setupmemoelements {\dodoubleargument\gobbletwooptionals}
+
+\def\memoelement {\dotripleargument\gobblethreeoptionals}
+
+\def\definememoelement
+ {\dotripleargument\dodefinememoelement}
+
+\def\dodefinememoelement[#1][#2][#3]#4{}
+
+\setvalue{\e!start\v!memo}%
+ {\starttext
+ \dostartbuffer[\v!memo][\e!start\v!memo][\e!stop\v!memo]}
+
+\setvalue{\e!stop\v!memo}%
+ {\startstandardmakeup[\c!align=\v!middle,\c!style=\ttd\setupinterlinespace]
+ The \MKIV\ version of the \CONTEXT\ memo module requires a installation from \date[d=14,m=12,y=2011][year,.,mm,.,dd] or newer but the version you’re using is \contextversion.
+ \blank[2*\v!line]
+ You can either use the \MKII\ version of the module or install the \CONTEXT\ Suite from the http://wiki.contextgarden.net.
+ \stopstandardmakeup
+ \stoptext}
+
+\protect \endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkii
new file mode 100644
index 0000000000..9b1e599d57
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkii
@@ -0,0 +1,62 @@
+%D \module
+%D [ file=letter-imp-blockstyle,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Blockstyle basics,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[default]
+
+\setuplettersection
+ [\v!head,\v!date,\v!reference,\v!specialnotation,\v!address]
+ [\c!alternative=\v!blockstyle]
+
+\setupletteroptions
+ [\c!marking=\v!no]
+
+\setupletterelements
+ [\v!layer]
+ [\v!lettermain,
+ \v!letternext,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark]
+
+\setupletterelements
+ [\v!section]
+ [\v!head,
+ \v!date,
+ \v!reference,
+ \v!specialnotation,
+ \v!address,
+ \v!title,
+ \v!opening,
+ \v!subject,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkiv
new file mode 100644
index 0000000000..9b1e599d57
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-blockstyle.mkiv
@@ -0,0 +1,62 @@
+%D \module
+%D [ file=letter-imp-blockstyle,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Blockstyle basics,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[default]
+
+\setuplettersection
+ [\v!head,\v!date,\v!reference,\v!specialnotation,\v!address]
+ [\c!alternative=\v!blockstyle]
+
+\setupletteroptions
+ [\c!marking=\v!no]
+
+\setupletterelements
+ [\v!layer]
+ [\v!lettermain,
+ \v!letternext,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark]
+
+\setupletterelements
+ [\v!section]
+ [\v!head,
+ \v!date,
+ \v!reference,
+ \v!specialnotation,
+ \v!address,
+ \v!title,
+ \v!opening,
+ \v!subject,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkii
new file mode 100644
index 0000000000..745ba2f56d
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkii
@@ -0,0 +1,133 @@
+%D \module
+%D [ file=letter-imp-default,
+%D version=2012.06.10,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Default letter style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupletter
+ [\c!date=\currentdate]
+
+\setupletterlayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=\topspace]
+
+\setupletterframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth]
+
+\setupletterlayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=\bottomspace]
+
+\setupletterframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!width=\textwidth,
+ \c!height=\footerheight]
+
+%\setupletterlayer
+% [\v!head]
+% [\c!rulewidth=\hsize,
+% \c!fromrule=\v!no,
+% \c!rulecolor=\v!black,
+% \c!alternative=\v!left]
+
+\setupletterlayer
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\setupletterlayer
+ [\v!lefthead,\v!leftfoot]
+ [\c!state=\v!left]
+
+\setupletterlayer
+ [\v!righthead,\v!rightfoot]
+ [\c!state=\v!right]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!alternative=\v!auto,
+ \c!separator={, }]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!alternative=\v!a,
+ \c!list=\c!date]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter=\v!line,
+ \c!spaceinbetween={\v!samepage,2*\v!line}]
+
+\defineletterelements
+ [\v!layer]
+ [\v!lettermain,
+ \v!letternext,
+ \v!head,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark,
+ \v!endmark,
+ \v!usermark,
+ \v!backaddress,
+ \v!address,
+ \v!reference,
+ \v!location]
+
+\defineletterelements
+ [\v!section]
+ [\v!title,
+ \v!subject,
+ \v!opening,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\defineletterelements
+ [\v!description]
+ [\v!copy,
+ \v!enclosure,
+ \v!postscript]
+
+\setupletterdescription
+ [\c!copy]
+ [\c!headcommand=\lettertext\v!copy,
+ \c!textcommand=\correspondenceparameter\c!copy]
+
+\setupletterdescription
+ [\c!enclosure]
+ [\c!headcommand=\lettertext\v!enclosure,
+ \c!textcommand=\correspondenceparameter\c!enclosure]
+
+\setupletterdescription
+ [\c!postscript]
+ [\c!headcommand=\lettertext\v!postscript,
+ \c!textcommand=\correspondenceparameter\c!postscript]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkiv
new file mode 100644
index 0000000000..745ba2f56d
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-default.mkiv
@@ -0,0 +1,133 @@
+%D \module
+%D [ file=letter-imp-default,
+%D version=2012.06.10,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Default letter style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupletter
+ [\c!date=\currentdate]
+
+\setupletterlayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=\topspace]
+
+\setupletterframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth]
+
+\setupletterlayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=\bottomspace]
+
+\setupletterframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!width=\textwidth,
+ \c!height=\footerheight]
+
+%\setupletterlayer
+% [\v!head]
+% [\c!rulewidth=\hsize,
+% \c!fromrule=\v!no,
+% \c!rulecolor=\v!black,
+% \c!alternative=\v!left]
+
+\setupletterlayer
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\setupletterlayer
+ [\v!lefthead,\v!leftfoot]
+ [\c!state=\v!left]
+
+\setupletterlayer
+ [\v!righthead,\v!rightfoot]
+ [\c!state=\v!right]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!alternative=\v!auto,
+ \c!separator={, }]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!alternative=\v!a,
+ \c!list=\c!date]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter=\v!line,
+ \c!spaceinbetween={\v!samepage,2*\v!line}]
+
+\defineletterelements
+ [\v!layer]
+ [\v!lettermain,
+ \v!letternext,
+ \v!head,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark,
+ \v!endmark,
+ \v!usermark,
+ \v!backaddress,
+ \v!address,
+ \v!reference,
+ \v!location]
+
+\defineletterelements
+ [\v!section]
+ [\v!title,
+ \v!subject,
+ \v!opening,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\defineletterelements
+ [\v!description]
+ [\v!copy,
+ \v!enclosure,
+ \v!postscript]
+
+\setupletterdescription
+ [\c!copy]
+ [\c!headcommand=\lettertext\v!copy,
+ \c!textcommand=\correspondenceparameter\c!copy]
+
+\setupletterdescription
+ [\c!enclosure]
+ [\c!headcommand=\lettertext\v!enclosure,
+ \c!textcommand=\correspondenceparameter\c!enclosure]
+
+\setupletterdescription
+ [\c!postscript]
+ [\c!headcommand=\lettertext\v!postscript,
+ \c!textcommand=\correspondenceparameter\c!postscript]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkii
new file mode 100644
index 0000000000..e21193474b
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkii
@@ -0,0 +1,52 @@
+%D \module
+%D [ file=letter-imp-dina,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=DIN 676 A,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayout
+ [\v!firstpage]
+ [\c!topspace=97.4mm]
+
+\setupletterlayer
+ [\v!topmark]
+ [\c!y=87mm]
+
+\setupletterlayer
+ [\v!botmark]
+ [\c!y=192mm]
+
+\setupletterframe
+ [\v!head]
+ [\c!height=10.1mm]
+
+\setupletterlayer
+ [\v!address]
+ [\c!y=32mm]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!y=80.4mm]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkiv
new file mode 100644
index 0000000000..e21193474b
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dina.mkiv
@@ -0,0 +1,52 @@
+%D \module
+%D [ file=letter-imp-dina,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=DIN 676 A,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayout
+ [\v!firstpage]
+ [\c!topspace=97.4mm]
+
+\setupletterlayer
+ [\v!topmark]
+ [\c!y=87mm]
+
+\setupletterlayer
+ [\v!botmark]
+ [\c!y=192mm]
+
+\setupletterframe
+ [\v!head]
+ [\c!height=10.1mm]
+
+\setupletterlayer
+ [\v!address]
+ [\c!y=32mm]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!y=80.4mm]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkii
new file mode 100644
index 0000000000..e363694220
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkii
@@ -0,0 +1,139 @@
+%D \module
+%D [ file=letter-imp-dinb,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=DIN 676 B,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[default]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=114.3mm,
+ \c!bottomspace=30mm, % unknown value!
+ \c!backspace=24.1mm,
+ \c!header=0mm,
+ \c!footer=0mm, % unknown value!
+ \c!width=\v!middle,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!topspace=20mm,
+ \c!bottomspace=20mm,
+ \c!header=10mm,
+ \c!footer=10mm]
+
+\setuplettersection
+ [\v!title,\v!subject,\v!opening,\v!appendices]
+ [\c!spacebefore=,
+ \c!spaceafter=\v!line]
+
+\setuplettersection
+ [\v!title]
+ [\c!align=\v!middle,
+ \c!style=\v!bold]
+
+\setuplettersection
+ [\v!subject]
+ [\c!spaceafter={2*\v!line},
+ \c!style=\v!bold]
+
+\setuplettersection
+ [\v!content]
+ [\c!spaceafter={\v!samepage,\v!line}]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={3*\v!line}]
+
+\setupletterlayer
+ [\v!topmark,\v!botmark,\v!cutmark]
+ [\c!state=\v!start,
+ \c!x=5mm,
+ \c!symbol=\v!cutmark]
+
+\setupletterframe
+ [\v!topmark,\v!botmark,\v!cutmark]
+ [\c!strut=\v!no]
+
+\setupletterlayer
+ [\v!topmark]
+ [\c!y=105mm]
+
+\setupletterlayer
+ [\v!botmark]
+ [\c!y=210mm]
+
+\setupletterlayer
+ [\v!cutmark]
+ [\c!y=.5\paperheight]
+
+\setupletterlayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=16.9mm]
+
+\setupletterframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth,
+ \c!height=28.1mm]
+
+\setupletterlayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!y=20mm]
+
+\setupletterframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!height=10mm]
+
+\setupletterlayer
+ [\v!address]
+ [\c!x=\backspace,
+ \c!y=50mm]
+
+\setupletterframe
+ [\v!address]
+ [\c!width=85mm,
+ \c!height=40mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!x=\backspace,
+ \c!y=\dimexpr\namedletterlayerparameter\v!address\c!y-\namedletterframeparameter\v!backaddress\c!height\relax,
+ \c!style=\tfxx]
+
+\setupletterframe
+ [\v!backaddress]
+ [\c!height=5mm,
+ \c!width=85mm]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!x=\backspace,
+ \c!y=93.2mm]
+
+\setupletterframe
+ [\v!reference]
+ [\c!width=\textwidth,
+ \c!height=8.4mm]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkiv
new file mode 100644
index 0000000000..e363694220
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dinb.mkiv
@@ -0,0 +1,139 @@
+%D \module
+%D [ file=letter-imp-dinb,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=DIN 676 B,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[default]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=114.3mm,
+ \c!bottomspace=30mm, % unknown value!
+ \c!backspace=24.1mm,
+ \c!header=0mm,
+ \c!footer=0mm, % unknown value!
+ \c!width=\v!middle,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!topspace=20mm,
+ \c!bottomspace=20mm,
+ \c!header=10mm,
+ \c!footer=10mm]
+
+\setuplettersection
+ [\v!title,\v!subject,\v!opening,\v!appendices]
+ [\c!spacebefore=,
+ \c!spaceafter=\v!line]
+
+\setuplettersection
+ [\v!title]
+ [\c!align=\v!middle,
+ \c!style=\v!bold]
+
+\setuplettersection
+ [\v!subject]
+ [\c!spaceafter={2*\v!line},
+ \c!style=\v!bold]
+
+\setuplettersection
+ [\v!content]
+ [\c!spaceafter={\v!samepage,\v!line}]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={3*\v!line}]
+
+\setupletterlayer
+ [\v!topmark,\v!botmark,\v!cutmark]
+ [\c!state=\v!start,
+ \c!x=5mm,
+ \c!symbol=\v!cutmark]
+
+\setupletterframe
+ [\v!topmark,\v!botmark,\v!cutmark]
+ [\c!strut=\v!no]
+
+\setupletterlayer
+ [\v!topmark]
+ [\c!y=105mm]
+
+\setupletterlayer
+ [\v!botmark]
+ [\c!y=210mm]
+
+\setupletterlayer
+ [\v!cutmark]
+ [\c!y=.5\paperheight]
+
+\setupletterlayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=16.9mm]
+
+\setupletterframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth,
+ \c!height=28.1mm]
+
+\setupletterlayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!y=20mm]
+
+\setupletterframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!height=10mm]
+
+\setupletterlayer
+ [\v!address]
+ [\c!x=\backspace,
+ \c!y=50mm]
+
+\setupletterframe
+ [\v!address]
+ [\c!width=85mm,
+ \c!height=40mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!x=\backspace,
+ \c!y=\dimexpr\namedletterlayerparameter\v!address\c!y-\namedletterframeparameter\v!backaddress\c!height\relax,
+ \c!style=\tfxx]
+
+\setupletterframe
+ [\v!backaddress]
+ [\c!height=5mm,
+ \c!width=85mm]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!x=\backspace,
+ \c!y=93.2mm]
+
+\setupletterframe
+ [\v!reference]
+ [\c!width=\textwidth,
+ \c!height=8.4mm]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkii
new file mode 100644
index 0000000000..7febd6229b
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkii
@@ -0,0 +1,79 @@
+%D \module
+%D [ file=letter-imp-dutch,
+%D version=2011.11.01,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Dutch style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=105mm,
+ \c!bottomspace=30mm,
+ \c!backspace=33mm,
+ \c!width=\v!middle,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!topspace=20mm,
+ \c!header=15mm,
+ \c!headerdistance=15mm,
+ \c!height=\v!middle]
+
+\setupletterlayer
+ [\v!topmark,\v!cutmark]
+ [\c!state=\v!repeat,
+ \c!x=3.5mm]
+
+\setuplettersection
+ [\v!subject]
+ [\c!spaceafter=\v!line]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceinbetween=\v!line]
+
+\setupletterlayer
+ [\v!address]
+ [\c!y=55mm]
+
+\setupletterframe
+ [\v!address]
+ [\c!height=35mm,
+ \c!width=80mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!y=50mm]
+
+\setupletterframe
+ [\v!backaddress]
+ [\c!width=80mm,
+ \c!height=5mm,
+ \c!bottomframe=\v!on]
+
+\setupletterlayer
+ [\v!botmark]
+ [\c!state=\v!stop]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkiv
new file mode 100644
index 0000000000..7febd6229b
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-dutch.mkiv
@@ -0,0 +1,79 @@
+%D \module
+%D [ file=letter-imp-dutch,
+%D version=2011.11.01,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Dutch style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=105mm,
+ \c!bottomspace=30mm,
+ \c!backspace=33mm,
+ \c!width=\v!middle,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!topspace=20mm,
+ \c!header=15mm,
+ \c!headerdistance=15mm,
+ \c!height=\v!middle]
+
+\setupletterlayer
+ [\v!topmark,\v!cutmark]
+ [\c!state=\v!repeat,
+ \c!x=3.5mm]
+
+\setuplettersection
+ [\v!subject]
+ [\c!spaceafter=\v!line]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceinbetween=\v!line]
+
+\setupletterlayer
+ [\v!address]
+ [\c!y=55mm]
+
+\setupletterframe
+ [\v!address]
+ [\c!height=35mm,
+ \c!width=80mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!y=50mm]
+
+\setupletterframe
+ [\v!backaddress]
+ [\c!width=80mm,
+ \c!height=5mm,
+ \c!bottomframe=\v!on]
+
+\setupletterlayer
+ [\v!botmark]
+ [\c!state=\v!stop]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkii
new file mode 100644
index 0000000000..d922234b92
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkii
@@ -0,0 +1,94 @@
+%D \module
+%D [ file=letter-imp-french,
+%D version=2013.06.21,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=French style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=25mm,
+ \c!width=\v!middle,
+ \c!topspace=95mm,
+ \c!bottomspace=25mm,
+ \c!height=\v!fit]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!topspace=15mm,
+ \c!header=10mm]
+
+\setupletterlayer
+ [\v!cutmark,\v!botmark]
+ [\c!state=\v!stop]
+
+\setupletterlayer
+ [\v!head]
+ [\c!x=\backspace,
+ \c!y=25mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!state=\v!stop]
+
+\setupletterlayer
+ [\v!address]
+ [\c!x=107mm,
+ \c!y=55mm]
+
+\setupletterlayer
+ [\v!location]
+ [\c!x=107mm,
+ \c!y=30mm,
+ \c!alternative=\v!french]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!state=\v!stop]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceinbetween={\v!samepage,2*\v!line}]
+
+\setupletterdescription
+ [\v!enclosure]
+ [\c!location=\v!left,
+ \c!width=\v!fit,
+ \c!headstyle=\tf]
+
+\setuplettersection
+ [\v!opening]
+ [\c!spaceafter={2*\v!line}]
+
+\setuplettersection
+ [\v!content]
+ [\c!spaceafter={\v!samepage,2*\v!line}]
+
+\setuplettersection
+ [\v!opening,\v!closing]
+ [\c!alternative=\v!french]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkiv
new file mode 100644
index 0000000000..d922234b92
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-french.mkiv
@@ -0,0 +1,94 @@
+%D \module
+%D [ file=letter-imp-french,
+%D version=2013.06.21,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=French style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=25mm,
+ \c!width=\v!middle,
+ \c!topspace=95mm,
+ \c!bottomspace=25mm,
+ \c!height=\v!fit]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!topspace=15mm,
+ \c!header=10mm]
+
+\setupletterlayer
+ [\v!cutmark,\v!botmark]
+ [\c!state=\v!stop]
+
+\setupletterlayer
+ [\v!head]
+ [\c!x=\backspace,
+ \c!y=25mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!state=\v!stop]
+
+\setupletterlayer
+ [\v!address]
+ [\c!x=107mm,
+ \c!y=55mm]
+
+\setupletterlayer
+ [\v!location]
+ [\c!x=107mm,
+ \c!y=30mm,
+ \c!alternative=\v!french]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!state=\v!stop]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceinbetween={\v!samepage,2*\v!line}]
+
+\setupletterdescription
+ [\v!enclosure]
+ [\c!location=\v!left,
+ \c!width=\v!fit,
+ \c!headstyle=\tf]
+
+\setuplettersection
+ [\v!opening]
+ [\c!spaceafter={2*\v!line}]
+
+\setuplettersection
+ [\v!content]
+ [\c!spaceafter={\v!samepage,2*\v!line}]
+
+\setuplettersection
+ [\v!opening,\v!closing]
+ [\c!alternative=\v!french]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkii
new file mode 100644
index 0000000000..a8f29214a8
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkii
@@ -0,0 +1,52 @@
+%D \module
+%D [ file=letter-imp-fullblock,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Fullblock style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!fullblock]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkiv
new file mode 100644
index 0000000000..a8f29214a8
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-fullblock.mkiv
@@ -0,0 +1,52 @@
+%D \module
+%D [ file=letter-imp-fullblock,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Fullblock style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!fullblock]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkii
new file mode 100644
index 0000000000..c655a2a6a5
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkii
@@ -0,0 +1,56 @@
+%D \module
+%D [ file=letter-imp-gbrief,
+%D version=2011.11.01,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=g-brief,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!alternative=\v!a]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!separator={~\mathematics\cdot~}]
+
+\setupletterframe
+ [\v!backaddress]
+ [\c!bottomframe=\v!on]
+
+\setupletterlayer
+ [\v!head,\v!foot,\v!nexthead]
+ [\c!alternative=\v!gbrief]
+
+\setupletterlayer
+ [\v!head]
+ [\c!style={\switchtobodyfont[20pt]\sc}]
+
+\setupletterlayer
+ [\v!foot]
+ [\c!style=\txx]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!style=\v!smallcaps]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkiv
new file mode 100644
index 0000000000..c655a2a6a5
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-gbrief.mkiv
@@ -0,0 +1,56 @@
+%D \module
+%D [ file=letter-imp-gbrief,
+%D version=2011.11.01,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=g-brief,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!alternative=\v!a]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!separator={~\mathematics\cdot~}]
+
+\setupletterframe
+ [\v!backaddress]
+ [\c!bottomframe=\v!on]
+
+\setupletterlayer
+ [\v!head,\v!foot,\v!nexthead]
+ [\c!alternative=\v!gbrief]
+
+\setupletterlayer
+ [\v!head]
+ [\c!style={\switchtobodyfont[20pt]\sc}]
+
+\setupletterlayer
+ [\v!foot]
+ [\c!style=\txx]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!style=\v!smallcaps]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkii
new file mode 100644
index 0000000000..1b4dd7d436
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkii
@@ -0,0 +1,61 @@
+%D \module
+%D [ file=letter-imp-hanging,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Hanging indented style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=1in]
+
+\setuplettersection
+ [\v!head,\v!reference,\v!date,\v!specialnotation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setuplettersection
+ [\v!content]
+ [\c!leftmargin=1.5em,
+ \c!indenting={\v!yes,-1.5em}]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!hanging]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkiv
new file mode 100644
index 0000000000..1b4dd7d436
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-hanging.mkiv
@@ -0,0 +1,61 @@
+%D \module
+%D [ file=letter-imp-hanging,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Hanging indented style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!fit]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=1in]
+
+\setuplettersection
+ [\v!head,\v!reference,\v!date,\v!specialnotation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setuplettersection
+ [\v!content]
+ [\c!leftmargin=1.5em,
+ \c!indenting={\v!yes,-1.5em}]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!hanging]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkii
new file mode 100644
index 0000000000..eb1ae07e1f
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkii
@@ -0,0 +1,71 @@
+%D \module
+%D [ file=letter-imp-knuth,
+%D version=2011.12.26,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Knuth letter style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[default]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!cutspace=1in,
+ \c!width=\v!middle]
+
+\setupletterstyle
+ [\v!firstpage]
+ [\c!header=0pt,
+ \c!topspace=2.2in,
+ \c!bottomspace=1.5in,
+ \c!height=\v!middle]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!knuth]
+
+\setuplettersection
+ [\v!address]
+ [\c!alternative=\v!knuth]
+
+\setuplettersection
+ [\v!closing]
+ [\c!alternative=\v!knuth,
+ \c!spaceinbetween=1cm]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\setupletterelements
+ [\v!layer]
+ [\v!lettermain,
+ \v!letternext,
+ \v!nexthead]
+
+\setupletterelements
+ [\v!section]
+ [\v!address,
+ \v!opening,
+ \v!content,
+ \v!closing]
+
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkiv
new file mode 100644
index 0000000000..eb1ae07e1f
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-knuth.mkiv
@@ -0,0 +1,71 @@
+%D \module
+%D [ file=letter-imp-knuth,
+%D version=2011.12.26,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Knuth letter style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[default]
+
+\setupletterstyle
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!cutspace=1in,
+ \c!width=\v!middle]
+
+\setupletterstyle
+ [\v!firstpage]
+ [\c!header=0pt,
+ \c!topspace=2.2in,
+ \c!bottomspace=1.5in,
+ \c!height=\v!middle]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!knuth]
+
+\setuplettersection
+ [\v!address]
+ [\c!alternative=\v!knuth]
+
+\setuplettersection
+ [\v!closing]
+ [\c!alternative=\v!knuth,
+ \c!spaceinbetween=1cm]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\setupletterelements
+ [\v!layer]
+ [\v!lettermain,
+ \v!letternext,
+ \v!nexthead]
+
+\setupletterelements
+ [\v!section]
+ [\v!address,
+ \v!opening,
+ \v!content,
+ \v!closing]
+
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkii
new file mode 100644
index 0000000000..95323e8f42
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkii
@@ -0,0 +1,56 @@
+%D \module
+%D [ file=letter-imp-modified,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Modified block style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=1in]
+
+\setuplettersection
+ [\v!head,\v!reference,\v!date,\v!specialnotation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!hanging]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkiv
new file mode 100644
index 0000000000..95323e8f42
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-modified.mkiv
@@ -0,0 +1,56 @@
+%D \module
+%D [ file=letter-imp-modified,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Modified block style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=1in]
+
+\setuplettersection
+ [\v!head,\v!reference,\v!date,\v!specialnotation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!hanging]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkii
new file mode 100644
index 0000000000..8dc6c86a95
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkii
@@ -0,0 +1,57 @@
+%D \module
+%D [ file=letter-imp-semiblock,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Semiblock style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setuplettersection
+ [\v!head,\v!reference,\v!date,\v!specialnotation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!semiblock]
+
+\setupletteroptions
+ [\c!whitespace=\v!line,
+ \c!indenting={\v!yes,\v!medium,\v!first}]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkiv
new file mode 100644
index 0000000000..8dc6c86a95
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-semiblock.mkiv
@@ -0,0 +1,57 @@
+%D \module
+%D [ file=letter-imp-semiblock,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Semiblock style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setuplettersection
+ [\v!head,\v!reference,\v!date,\v!specialnotation,\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setupletterlayer
+ [\v!nexthead]
+ [\c!alternative=\v!semiblock]
+
+\setupletteroptions
+ [\c!whitespace=\v!line,
+ \c!indenting={\v!yes,\v!medium,\v!first}]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkii
new file mode 100644
index 0000000000..bddf849f03
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkii
@@ -0,0 +1,62 @@
+%D \module
+%D [ file=letter-imp-setups,
+%D version=2012.01.01,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Setups style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupletterlayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!address,\v!backaddress]
+ [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!reference,\v!location]
+ [\c!alternative=\v!setups]
+
+% \setupletterlayer
+% [\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark]
+% [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!lettermain,\v!letternext]
+ [\c!alternative=\v!setups]
+
+\setuplettersection % only used for blockstyle layouts
+ [\v!head,\v!date,\v!reference,\v!specialnotation,\v!address]
+ [\c!alternative=\v!setups]
+
+\setuplettersection % default sections
+ [\v!title,\v!subject,\v!opening,\v!content,\v!closing,\v!appendices]
+ [\c!alternative=\v!setups]
+
+% \setuplettersection % otherwise no text is shown
+% [\v!content]
+% [\c!alternative=\s!default]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkiv
new file mode 100644
index 0000000000..bddf849f03
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-setups.mkiv
@@ -0,0 +1,62 @@
+%D \module
+%D [ file=letter-imp-setups,
+%D version=2012.01.01,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Setups style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupletterlayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!address,\v!backaddress]
+ [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!reference,\v!location]
+ [\c!alternative=\v!setups]
+
+% \setupletterlayer
+% [\v!topmark,\v!botmark,\v!cutmark,\v!endmark,\v!usermark]
+% [\c!alternative=\v!setups]
+
+\setupletterlayer
+ [\v!lettermain,\v!letternext]
+ [\c!alternative=\v!setups]
+
+\setuplettersection % only used for blockstyle layouts
+ [\v!head,\v!date,\v!reference,\v!specialnotation,\v!address]
+ [\c!alternative=\v!setups]
+
+\setuplettersection % default sections
+ [\v!title,\v!subject,\v!opening,\v!content,\v!closing,\v!appendices]
+ [\c!alternative=\v!setups]
+
+% \setuplettersection % otherwise no text is shown
+% [\v!content]
+% [\c!alternative=\s!default]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkii
new file mode 100644
index 0000000000..769b6055a4
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkii
@@ -0,0 +1,65 @@
+%D \module
+%D [ file=letter-imp-simplified,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Simplified style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setuplettersection
+ [\v!nexthead,\v!closing]
+ [\c!alternative=\v!simplified]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\setupletterelements
+ [\v!section]
+ [\v!head
+ \v!date,
+ \v!reference,
+ \v!specialnotation,
+ \v!address,
+ \v!title,
+ \v!subject,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkiv
new file mode 100644
index 0000000000..769b6055a4
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-simplified.mkiv
@@ -0,0 +1,65 @@
+%D \module
+%D [ file=letter-imp-simplified,
+%D version=2011.12.24,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Simplified style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[blockstyle]
+
+\setupletterlayout
+ [\v!firstpage,\v!secondpage]
+ [\c!backspace=1in,
+ \c!width=\v!middle,
+ \c!topspace=1in,
+ \c!header=0in,
+ \c!footer=0in,
+ \c!height=\v!middle]
+
+\setupletterlayout
+ [\v!secondpage]
+ [\c!header=.5in]
+
+\setuplettersection
+ [\v!closing]
+ [\c!spaceafter={2*\v!line}]
+
+\setuplettersection
+ [\v!nexthead,\v!closing]
+ [\c!alternative=\v!simplified]
+
+\setupletteroptions
+ [\c!whitespace=\v!line]
+
+\setupletterelements
+ [\v!section]
+ [\v!head
+ \v!date,
+ \v!reference,
+ \v!specialnotation,
+ \v!address,
+ \v!title,
+ \v!subject,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkii
new file mode 100644
index 0000000000..5544b000b1
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkii
@@ -0,0 +1,54 @@
+%D \module
+%D [ file=letter-imp-swiss,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Swiss style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayer
+ [\v!head]
+ [\c!y=8mm]
+
+\setupletterlayer
+ [\v!address,\v!backaddress]
+ [\c!preset=\v!right\v!top,
+ \c!x=8mm]
+
+\setupletterframe
+ [\v!address,\v!backaddress]
+ [\c!width=90mm]
+
+%\setupletterlayer
+% [\v!reference]
+% [\c!y=98.5mm,
+% \c!spaceafter=\v!line]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!y=98.5mm]
+
+\setupletterlayer
+ [\v!foldmark]
+ [\c!state=\v!stop]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkiv
new file mode 100644
index 0000000000..92f569d471
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swiss.mkiv
@@ -0,0 +1,53 @@
+%D \module
+%D [ file=letter-imp-swiss,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Swiss style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayer
+ [\v!head]
+ [\c!y=8mm]
+
+\setupletterlayer
+ [\v!address,\v!backaddress]
+ [\c!preset=\v!right\v!top,
+ \c!x=8mm]
+
+\setupletterframe
+ [\v!address,\v!backaddress]
+ [\c!width=90mm]
+
+%\setupletterlayer
+% [\v!reference]
+% [\c!y=98.5mm,
+% \c!spaceafter=\v!line]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!y=98.5mm]
+
+\setupletteroptions
+ [\c!marking=\v!no]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkii
new file mode 100644
index 0000000000..19a2cb843c
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkii
@@ -0,0 +1,58 @@
+%D \module
+%D [ file=letter-imp-swissleft,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Swiss left style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayer
+ [\v!head]
+ [\c!y=8mm]
+
+\setupletterlayer
+ [\v!address]
+ [\c!x=20mm,
+ \c!y=40.5mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!x=20mm]
+
+\setupletterframe
+ [\v!address,\v!backaddress]
+ [\c!width=100mm]
+
+%\setupletterlayer
+% [\v!reference]
+% [\c!y=89mm,
+% \c!spaceafter=\v!line]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!y=89mm]
+
+\setupletterlayer
+ [\v!foldmark]
+ [\c!state=\v!stop]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkiv
new file mode 100644
index 0000000000..9f0b4e61a1
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/letter-imp-swissleft.mkiv
@@ -0,0 +1,57 @@
+%D \module
+%D [ file=letter-imp-swissleft,
+%D version=2011.10.29,
+%D title=\CONTEXT\ Letter Style,
+%D subtitle=Swiss left style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useletterstyle[dinb]
+
+\setupletterlayer
+ [\v!head]
+ [\c!y=8mm]
+
+\setupletterlayer
+ [\v!address]
+ [\c!x=20mm,
+ \c!y=40.5mm]
+
+\setupletterlayer
+ [\v!backaddress]
+ [\c!x=20mm]
+
+\setupletterframe
+ [\v!address,\v!backaddress]
+ [\c!width=100mm]
+
+%\setupletterlayer
+% [\v!reference]
+% [\c!y=89mm,
+% \c!spaceafter=\v!line]
+
+\setupletterlayer
+ [\v!reference]
+ [\c!y=89mm]
+
+\setupletteroptions
+ [\c!marking=\v!no]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkii
new file mode 100644
index 0000000000..6af6824905
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkii
@@ -0,0 +1,96 @@
+%D \module
+%D [ file=memo-imp-default,
+%D version=2012.02.04,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Default memo style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupmemo
+ [\c!date=\currentdate]
+
+\setupmemooptions
+ [\c!marking=\v!no]
+
+\setupmemolayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=\topspace]
+
+\setupmemoframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth]
+
+\setupmemolayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=\bottomspace]
+
+\setupmemoframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!width=\textwidth,
+ \c!height=\footerheight]
+
+\setupmemolayer
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\setupmemolayer
+ [\v!lefthead,\v!leftfoot]
+ [\c!state=\v!left]
+
+\setupmemolayer
+ [\v!righthead,\v!rightfoot]
+ [\c!state=\v!right]
+
+\definememoelements
+ [\v!layer]
+ [\v!memomain,
+ \v!memonext,
+ \v!head,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!leftfoot,
+ \v!rightfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark,
+ \v!endmark,
+ \v!usermark]
+
+\definememoelements
+ [\v!section]
+ [\v!head
+ \v!date,
+ \v!reference,
+ \v!specialnotation,
+ \v!address,
+ \v!title,
+ \v!opening,
+ \v!subject,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkiv
new file mode 100644
index 0000000000..6af6824905
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-default.mkiv
@@ -0,0 +1,96 @@
+%D \module
+%D [ file=memo-imp-default,
+%D version=2012.02.04,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Default memo style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupmemo
+ [\c!date=\currentdate]
+
+\setupmemooptions
+ [\c!marking=\v!no]
+
+\setupmemolayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=\topspace]
+
+\setupmemoframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth]
+
+\setupmemolayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=\bottomspace]
+
+\setupmemoframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!width=\textwidth,
+ \c!height=\footerheight]
+
+\setupmemolayer
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\setupmemolayer
+ [\v!lefthead,\v!leftfoot]
+ [\c!state=\v!left]
+
+\setupmemolayer
+ [\v!righthead,\v!rightfoot]
+ [\c!state=\v!right]
+
+\definememoelements
+ [\v!layer]
+ [\v!memomain,
+ \v!memonext,
+ \v!head,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!leftfoot,
+ \v!rightfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark,
+ \v!endmark,
+ \v!usermark]
+
+\definememoelements
+ [\v!section]
+ [\v!head
+ \v!date,
+ \v!reference,
+ \v!specialnotation,
+ \v!address,
+ \v!title,
+ \v!opening,
+ \v!subject,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkii
new file mode 100644
index 0000000000..3783157b2f
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkii
@@ -0,0 +1,55 @@
+%D \module
+%D [ file=memo-imp-margin,
+%D version=2012.06.10,
+%D title=\CONTEXT\ Memo Style,
+%D subtitle=Margin style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\usememostyle[default]
+
+\setupmemolayout
+ [\v!firstpage,\v!secondpage]
+ [\c!header=0in]
+
+\setupmemosection
+ [\v!head]
+ [\c!alternative=\v!margin]
+
+\setupmemolayer
+ [\v!foot]
+ [\c!state=\v!repeat,
+ \c!alternative=\v!pagenumber]
+
+\setupmemooptions
+ [\c!whitespace=\v!line]
+
+\setupmemostyle
+ [\c!fromname,\c!date,\c!toname,\c!subject]
+ [\c!titlestyle=\tx]
+
+\definememoelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkiv
new file mode 100644
index 0000000000..3783157b2f
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-margin.mkiv
@@ -0,0 +1,55 @@
+%D \module
+%D [ file=memo-imp-margin,
+%D version=2012.06.10,
+%D title=\CONTEXT\ Memo Style,
+%D subtitle=Margin style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\usememostyle[default]
+
+\setupmemolayout
+ [\v!firstpage,\v!secondpage]
+ [\c!header=0in]
+
+\setupmemosection
+ [\v!head]
+ [\c!alternative=\v!margin]
+
+\setupmemolayer
+ [\v!foot]
+ [\c!state=\v!repeat,
+ \c!alternative=\v!pagenumber]
+
+\setupmemooptions
+ [\c!whitespace=\v!line]
+
+\setupmemostyle
+ [\c!fromname,\c!date,\c!toname,\c!subject]
+ [\c!titlestyle=\tx]
+
+\definememoelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkii
new file mode 100644
index 0000000000..077a6c02dc
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkii
@@ -0,0 +1,55 @@
+%D \module
+%D [ file=memo-imp-memo,
+%D version=2012.02.04,
+%D title=\CONTEXT\ Memo Style,
+%D subtitle=Memo style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\usememostyle[default]
+
+\setupmemolayout
+ [\v!firstpage,\v!secondpage]
+ [\c!header=0in]
+
+\setupmemosection
+ [\v!head]
+ [\c!alternative=\v!memo]
+
+\setupmemolayer
+ [\v!foot]
+ [\c!state=\v!repeat,
+ \c!alternative=\v!pagenumber]
+
+\setupmemosection
+ [\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setupmemooptions
+ [\c!whitespace=\v!line]
+
+\definememoelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkiv
new file mode 100644
index 0000000000..077a6c02dc
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-memo.mkiv
@@ -0,0 +1,55 @@
+%D \module
+%D [ file=memo-imp-memo,
+%D version=2012.02.04,
+%D title=\CONTEXT\ Memo Style,
+%D subtitle=Memo style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\usememostyle[default]
+
+\setupmemolayout
+ [\v!firstpage,\v!secondpage]
+ [\c!header=0in]
+
+\setupmemosection
+ [\v!head]
+ [\c!alternative=\v!memo]
+
+\setupmemolayer
+ [\v!foot]
+ [\c!state=\v!repeat,
+ \c!alternative=\v!pagenumber]
+
+\setupmemosection
+ [\v!closing]
+ [\c!leftmargin=.5\textwidth]
+
+\setupmemooptions
+ [\c!whitespace=\v!line]
+
+\definememoelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkii b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkii
new file mode 100644
index 0000000000..2a21da6002
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkii
@@ -0,0 +1,51 @@
+%D \module
+%D [ file=memo-imp-table,
+%D version=2012.02.04,
+%D title=\CONTEXT\ Memo Style,
+%D subtitle=Table style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\usememostyle[default]
+
+\setupmemolayout
+ [\v!firstpage,\v!secondpage]
+ [\c!header=0in]
+
+\setupmemosection
+ [\v!head]
+ [\c!alternative=\v!table]
+
+\setupmemolayer
+ [\v!foot]
+ [\c!state=\v!repeat,
+ \c!alternative=\v!pagenumber]
+
+\setupmemooptions
+ [\c!whitespace=\v!line]
+
+\definememoelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkiv
new file mode 100644
index 0000000000..2a21da6002
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/memo-imp-table.mkiv
@@ -0,0 +1,51 @@
+%D \module
+%D [ file=memo-imp-table,
+%D version=2012.02.04,
+%D title=\CONTEXT\ Memo Style,
+%D subtitle=Table style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2011 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\usememostyle[default]
+
+\setupmemolayout
+ [\v!firstpage,\v!secondpage]
+ [\c!header=0in]
+
+\setupmemosection
+ [\v!head]
+ [\c!alternative=\v!table]
+
+\setupmemolayer
+ [\v!foot]
+ [\c!state=\v!repeat,
+ \c!alternative=\v!pagenumber]
+
+\setupmemooptions
+ [\c!whitespace=\v!line]
+
+\definememoelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing,
+ \v!appendices]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-blue.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-blue.mkiv
new file mode 100644
index 0000000000..ce64b11bcb
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-blue.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-casual-blue,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[casual]
+
+\definecolor [resume:forename] [r=0.65,g=0.65,b=0.65]
+\definecolor [resume:surename] [r=0.45,g=0.45,b=0.45]
+\definecolor [resume:title] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:rule] [r=0.25,g=0.50,b=0.75]
+\definecolor [resume:section] [r=0.20,g=0.40,b=0.65]
+\definecolor [resume:subsection] [r=0.20,g=0.40,b=0.65]
+\definecolor [resume:separator] [r=0.25,g=0.50,b=0.75]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-green.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-green.mkiv
new file mode 100644
index 0000000000..94c078313f
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-green.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-casual-blue,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[casual]
+
+\definecolor [resume:forename] [r=0.65,g=0.65,b=0.65]
+\definecolor [resume:surename] [r=0.45,g=0.45,b=0.45]
+\definecolor [resume:title] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:rule] [r=0.55,g=0.85,b=0.35]
+\definecolor [resume:section] [r=0.30,g=0.65,b=0.15]
+\definecolor [resume:subsection] [r=0.30,g=0.65,b=0.15]
+\definecolor [resume:separator] [r=0.30,g=0.65,b=0.15]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-grey.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-grey.mkiv
new file mode 100644
index 0000000000..3ed16e01ef
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-grey.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-casual-grey,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[casual]
+
+\definecolor [resume:forename] [r=0.65,g=0.65,b=0.65]
+\definecolor [resume:surename] [r=0.45,g=0.45,b=0.45]
+\definecolor [resume:title] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:rule] [r=0.75,g=0.75,b=0.75]
+\definecolor [resume:section] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:subsection] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:separator] [r=0.35,g=0.35,b=0.35]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-orange.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-orange.mkiv
new file mode 100644
index 0000000000..9a31830688
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-orange.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-casual-orange,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[casual]
+
+\definecolor [resume:forename] [r=0.65,g=0.65,b=0.65]
+\definecolor [resume:surename] [r=0.45,g=0.45,b=0.45]
+\definecolor [resume:title] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:rule] [r=1.00,g=0.65,b=0.20]
+\definecolor [resume:section] [r=0.95,g=0.55,b=0.15]
+\definecolor [resume:subsection] [r=0.95,g=0.55,b=0.15]
+\definecolor [resume:separator] [r=0.95,g=0.55,b=0.15]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-red.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-red.mkiv
new file mode 100644
index 0000000000..9a3b991df8
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual-red.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-casual-red,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[casual]
+
+\definecolor [resume:forename] [r=0.65,g=0.65,b=0.65]
+\definecolor [resume:surename] [r=0.45,g=0.45,b=0.45]
+\definecolor [resume:title] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:rule] [r=1.00,g=0.30,b=0.30]
+\definecolor [resume:section] [r=0.95,g=0.20,b=0.20]
+\definecolor [resume:subsection] [r=0.95,g=0.20,b=0.20]
+\definecolor [resume:separator] [r=0.95,g=0.20,b=0.20]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual.mkiv
new file mode 100644
index 0000000000..73424613cc
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-casual.mkiv
@@ -0,0 +1,160 @@
+%D \module
+%D [ file=resume-imp-casual,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Casual style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[default]
+
+% The colors are black by default, use one of the color styles to change them.
+
+\definecolor [resume:forename] [black]
+\definecolor [resume:surename] [black]
+\definecolor [resume:title] [black]
+\definecolor [resume:quote] [black]
+\definecolor [resume:address] [black]
+\definecolor [resume:rule] [black]
+\definecolor [resume:section] [black]
+\definecolor [resume:subsection] [black]
+\definecolor [resume:separator] [black]
+
+% Values for the margins etc.
+
+\definemeasure [resume:margin] [.150\textwidth]
+\definemeasure [resume:distance] [.025\textwidth]
+
+% Layout
+
+% \setupresumelayout
+% [\v!firstpage,\v!secondpage]
+% [\c!backspace=20mm,
+% \c!width=168mm,
+% \c!header=0pt,
+% \c!footer=0pt,
+% \c!topspace=30mm,
+% \c!bottomspace=40mm,
+% \c!height=\v!fit]
+
+% Section commands
+
+\define[1]\ResumeSectionCommand
+ {\hbox to \hsize\bgroup
+ \blackrule[\c!width=\measure{resume:margin},\c!height=1\exheight,\c!depth=-.5\exheight,\c!color=resume:rule]%
+ \hskip\measure{resume:distance}\relax
+ \vtop\bgroup
+ \hsize\dimexpr\hsize-\measure{resume:margin}-\measure{resume:distance}\relax
+ #1%
+ \egroup
+ \egroup}
+
+\setupresumehead
+ [\v!resume\v!section]
+ [\c!align=\v!flushleft,
+ \c!style=\tfb,
+ \c!color=modern:section,
+ \c!textcommand=\ResumeSectionCommand]
+
+\define[1]\ResumeSubsectionCommand
+ {\hbox to \hsize\bgroup
+ \hskip\dimexpr\measure{resume:margin}+\measure{resume:distance}\relax
+ \vtop\bgroup
+ \hsize\dimexpr\hsize-\measure{resume:margin}-\measure{resume:distance}\relax
+ #1%
+ \egroup
+ \egroup}
+
+\setupresumehead
+ [\v!resume\v!subsection]
+ [\c!align=\v!flushleft,
+ \c!style=\tfa,
+ \c!color=modern:subsection,
+ \c!textcommand=\ResumeSubsectionCommand]
+
+% Paragraphs
+
+\setupresumeparagraph
+ [\v!two\v!columns]
+ [\c!distance=\measure{resume:distance}]
+
+\setupresumeparagraph
+ [\v!two\v!columns:1]
+ [\c!width=\measure{resume:margin}]
+
+% Layer
+
+\setupresumesection
+ [\v!head]
+ [\c!alternative=\v!casual]
+
+\setupresumeframe
+ [\v!head]
+ [\c!height=3.5cm,
+ \c!frame=\v!off,
+ \c!align={\v!wide,\v!middle}]
+
+% Layer
+
+\setupresumelayer
+ [\v!foot]
+ [\c!alternative=\v!casual,
+ \c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=2cm,
+ \c!state=\v!repeat,
+ \c!list={mobile,phone,fax,email,info}]
+
+\setupresumeframe
+ [\v!foot]
+ [\c!frame=\v!off,
+ \c!width=\textwidth,
+ \c!height=2cm,
+ \c!align={\v!middle,\v!low}]
+
+\setupresumelayer
+ [\v!nextfoot]
+ [\c!alternative=\v!casual,
+ \c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=2cm,
+ \c!state=\v!repeat]
+
+\setupresumeframe
+ [\v!nextfoot]
+ [\c!frame=\v!off,
+ \c!width=\textwidth,
+ \c!height=2cm,
+ \c!align={\v!flushright,\v!low}]
+
+% Font and color settings
+
+\setupresumestyle [firstname] [\c!style=\tfd,\c!color=resume:forename]
+\setupresumestyle [familyname][\c!style=\tfd,\c!color=resume:surename]
+\setupresumestyle [quote] [\c!style=\tf, \c!color=resume:quote]
+\setupresumestyle [street] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [town] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [mobile] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [phone] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [fax] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [email] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [info] [\c!style=\it, \c!color=resume:address]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-blue.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-blue.mkiv
new file mode 100644
index 0000000000..8b0108e8ad
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-blue.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-classic-blue,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[classic]
+
+\definecolor [resume:forename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:surename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:title] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.25,g=0.50,b=0.75]
+\definecolor [resume:rule] [r=0.25,g=0.50,b=0.75]
+\definecolor [resume:section] [r=0.20,g=0.40,b=0.65]
+\definecolor [resume:subsection] [r=0.20,g=0.40,b=0.65]
+\definecolor [resume:separator] [r=0.00,g=0.00,b=0.00]
+
+\endinput \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-green.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-green.mkiv
new file mode 100644
index 0000000000..4b8efaa702
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-green.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-classic-green,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[classic]
+
+\definecolor [resume:forename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:surename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:title] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.30,g=0.65,b=0.15]
+\definecolor [resume:rule] [r=0.55,g=0.85,b=0.35]
+\definecolor [resume:section] [r=0.30,g=0.65,b=0.15]
+\definecolor [resume:subsection] [r=0.30,g=0.65,b=0.15]
+\definecolor [resume:separator] [r=0.00,g=0.00,b=0.00]
+
+\endinput \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-grey.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-grey.mkiv
new file mode 100644
index 0000000000..8e81770fe5
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-grey.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-classic-grey,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[classic]
+
+\definecolor [resume:forename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:surename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:title] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:rule] [r=0.75,g=0.75,b=0.75]
+\definecolor [resume:section] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:subsection] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:separator] [r=0.00,g=0.00,b=0.00]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-orange.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-orange.mkiv
new file mode 100644
index 0000000000..02e4701700
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-orange.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-classic-orange,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[classic]
+
+\definecolor [resume:forename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:surename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:title] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.95,g=0.55,b=0.15]
+\definecolor [resume:rule] [r=1.00,g=0.65,b=0.20]
+\definecolor [resume:section] [r=0.95,g=0.55,b=0.15]
+\definecolor [resume:subsection] [r=0.95,g=0.55,b=0.15]
+\definecolor [resume:separator] [r=0.00,g=0.00,b=0.00]
+
+\endinput \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-red.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-red.mkiv
new file mode 100644
index 0000000000..18a51c1aa7
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic-red.mkiv
@@ -0,0 +1,38 @@
+%D \module
+%D [ file=resume-imp-classic-red,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[classic]
+
+\definecolor [resume:forename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:surename] [r=0.00,g=0.00,b=0.00]
+\definecolor [resume:title] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:quote] [r=0.35,g=0.35,b=0.35]
+\definecolor [resume:address] [r=0.95,g=0.20,b=0.20]
+\definecolor [resume:rule] [r=1.00,g=0.30,b=0.30]
+\definecolor [resume:section] [r=0.95,g=0.20,b=0.20]
+\definecolor [resume:subsection] [r=0.95,g=0.20,b=0.20]
+\definecolor [resume:separator] [r=0.00,g=0.00,b=0.00]
+
+\endinput \ No newline at end of file
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic.mkiv
new file mode 100644
index 0000000000..01710ec613
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-classic.mkiv
@@ -0,0 +1,145 @@
+%D \module
+%D [ file=resume-imp-classic,
+%D version=2014.10.31,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Classic style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\useresumestyle[default]
+
+% The colors are black by default, use one of the color styles to change them.
+
+\definecolor [resume:forename] [black]
+\definecolor [resume:surename] [black]
+\definecolor [resume:title] [black]
+\definecolor [resume:quote] [black]
+\definecolor [resume:address] [black]
+\definecolor [resume:rule] [black]
+\definecolor [resume:section] [black]
+\definecolor [resume:subsection] [black]
+\definecolor [resume:separator] [black]
+
+% Values for the margins etc.
+
+\definemeasure [resume:margin] [.150\textwidth]
+\definemeasure [resume:distance] [.025\textwidth]
+
+% Layout
+
+% \setupresumelayout
+% [\v!firstpage,\v!secondpage]
+% [\c!backspace=20mm,
+% \c!width=168mm,
+% \c!header=0pt,
+% \c!footer=0pt,
+% \c!topspace=30mm,
+% \c!bottomspace=40mm,
+% \c!height=\v!fit]
+
+% Section commands
+
+\define[1]\ResumeSectionCommand
+ {\hbox to \hsize\bgroup
+ \blackrule[\c!width=\measure{resume:margin},\c!height=1\exheight,\c!depth=-.5\exheight,\c!color=resume:rule]%
+ \hskip\measure{resume:distance}\relax
+ \vtop\bgroup
+ \hsize\dimexpr\hsize-\measure{resume:margin}-\measure{resume:distance}\relax
+ #1%
+ \egroup
+ \egroup}
+
+\setupresumehead
+ [\v!resume\v!section]
+ [\c!align=\v!flushleft,
+ \c!style=\tfb,
+ \c!color=modern:section,
+ \c!textcommand=\ResumeSectionCommand]
+
+\define[1]\ResumeSubsectionCommand
+ {\hbox to \hsize\bgroup
+ \hskip\dimexpr\measure{resume:margin}+\measure{resume:distance}\relax
+ \vtop\bgroup
+ \hsize\dimexpr\hsize-\measure{resume:margin}-\measure{resume:distance}\relax
+ #1%
+ \egroup
+ \egroup}
+
+\setupresumehead
+ [\v!resume\v!subsection]
+ [\c!align=\v!flushleft,
+ \c!style=\tfa,
+ \c!color=modern:subsection,
+ \c!textcommand=\ResumeSubsectionCommand]
+
+% Paragraphs
+
+\setupresumeparagraph
+ [\v!two\v!columns]
+ [\c!distance=\measure{resume:distance}]
+
+\setupresumeparagraph
+ [\v!two\v!columns:1]
+ [\c!width=\measure{resume:margin}]
+
+% Layer
+
+\setupresumesection
+ [\v!head]
+ [\c!alternative=\v!classic]
+
+\setupresumeframe
+ [\v!head]
+ [\c!height=3.5cm,
+ \c!frame=\v!off,
+ \c!align={\v!wide,\v!middle}]
+
+% Layer
+
+\setupresumelayer
+ [\v!nextfoot]
+ [\c!alternative=\v!classic,
+ \c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=2cm,
+ \c!state=\v!repeat]
+
+\setupresumeframe
+ [\v!nextfoot]
+ [\c!frame=\v!off,
+ \c!width=\textwidth,
+ \c!height=2cm,
+ \c!align={\v!flushright,\v!lohi}]
+
+% Font and color settings
+
+\setupresumestyle [firstname] [\c!style=\tfd,\c!color=resume:forename]
+\setupresumestyle [familyname][\c!style=\tfd,\c!color=resume:surename]
+\setupresumestyle [quote] [\c!style=\tf, \c!color=resume:quote]
+\setupresumestyle [title] [\c!style=\it, \c!color=resume:title]
+\setupresumestyle [street] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [town] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [mobile] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [phone] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [fax] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [email] [\c!style=\it, \c!color=resume:address]
+\setupresumestyle [info] [\c!style=\it, \c!color=resume:address]
+
+\endinput
diff --git a/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-default.mkiv b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-default.mkiv
new file mode 100644
index 0000000000..a8a1eef1a4
--- /dev/null
+++ b/macros/context/contrib/context-letter/tex/context/third/letter/style/resume-imp-default.mkiv
@@ -0,0 +1,135 @@
+%D \module
+%D [ file=resume-imp-default,
+%D version=2012.02.04,
+%D title=\CONTEXT\ Resume Style,
+%D subtitle=Default style,
+%D author=Wolfgang Schuster,
+%D date=\currentdate,
+%D copyright=Wolfgang Schuster,
+%D license=GNU General Public License]
+
+%C Copyright (C) 2012 Wolfgang Schuster
+%C
+%C This program is free software: you can redistribute it and/or modify
+%C it under the terms of the GNU General Public License as published by
+%C the Free Software Foundation, either version 3 of the License, or
+%C (at your option) any later version.
+%C
+%C This program is distributed in the hope that it will be useful,
+%C but WITHOUT ANY WARRANTY; without even the implied warranty of
+%C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+%C GNU General Public License for more details.
+%C
+%C You should have received a copy of the GNU General Public License
+%C along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+\setupresumelayout
+ [\v!firstpage,\v!secondpage]
+ [\c!topspace=2.5cm,
+ \c!header=0mm, % 2.0cm,
+ \c!headerdistance=0pt,
+ \c!height=\v!middle,
+ \c!footerdistance=0pt,
+ \c!footer=0mm, % 2.0cm,
+ \c!backspace=2.5cm,
+ \c!width=\v!middle,
+ \c!cutspace=3.5cm,
+ \c!grid=\v!no]
+
+\setupresumelayer
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!x=\backspace,
+ \c!y=\topspace]
+
+\setupresumeframe
+ [\v!head,\v!nexthead,\v!lefthead,\v!righthead]
+ [\c!width=\textwidth]
+
+\setupresumelayer
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!preset=\v!left\v!bottom,
+ \c!x=\backspace,
+ \c!y=\bottomspace]
+
+\setupresumeframe
+ [\v!foot,\v!nextfoot,\v!leftfoot,\v!rightfoot]
+ [\c!width=\textwidth,
+ \c!height=\footerheight]
+
+\setupresumelayer
+ [\v!nexthead,\v!nextfoot]
+ [\c!state=\v!next]
+
+\setupresumelayer
+ [\v!lefthead,\v!leftfoot]
+ [\c!state=\v!left]
+
+\setupresumelayer
+ [\v!righthead,\v!rightfoot]
+ [\c!state=\v!right]
+
+\setupresumesection
+ [\v!closing]
+ [\c!spaceafter=\v!line,
+ \c!spaceinbetween={\v!samepage,2*\v!line}]
+
+\setupresumeparagraph
+ [\v!two\v!columns]
+ [\c!n=2,
+ \c!alternative=\v!columns,
+ \c!distance=\emwidth]
+
+\setupresumeparagraph
+ [\v!two\v!columns:1]
+ [\c!alternative=\c!lefttext,
+ \c!width=6\emwidth]
+
+\setupresumeparagraph
+ [\v!two\v!columns:2]
+ [\c!alternative=\v!default,
+ \c!width=\dimexpr\textwidth-\namedresumeparagraphparameter{\v!two\v!columns:1}\c!width-\namedresumeparagraphparameter{\v!two\v!columns}\c!distance\relax]
+
+\setupresumeparagraph
+ [\v!three\v!columns]
+ [\c!n=3,
+ \c!alternative=\v!columns,
+ \c!distance=\emwidth]
+
+\setupresumeparagraph
+ [\v!three\v!columns:1]
+ [\c!alternative=\c!lefttext,
+ \c!width=6\emwidth]
+
+\setupresumeparagraph
+ [\v!three\v!columns:2]
+ [\c!alternative=\v!default,
+ \c!width=\dimexpr\textwidth-\namedresumeparagraphparameter{\v!three\v!columns:1}\c!width-\namedresumeparagraphparameter{\v!three\v!columns:3}\c!width-\namedresumeparagraphparameter{\v!three\v!columns}\c!distance*2\relax]
+
+\setupresumeparagraph
+ [\v!three\v!columns:3]
+ [\c!alternative=\c!righttext,
+ \c!width=6\emwidth]
+
+\defineresumeelements
+ [\v!layer]
+ [\v!resumemain,
+ \v!resumenext,
+ \v!head,
+ \v!nexthead,
+ \v!lefthead,
+ \v!righthead,
+ \v!foot,
+ \v!nextfoot,
+ \v!topmark,
+ \v!botmark,
+ \v!cutmark,
+ \v!endmark,
+ \v!usermark]
+
+\defineresumeelements
+ [\v!section]
+ [\v!head,
+ \v!content,
+ \v!closing]
+
+\endinput