summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/third
diff options
context:
space:
mode:
authorTaco Hoekwater <taco@elvenkind.com>2006-12-08 16:01:22 +0000
committerTaco Hoekwater <taco@elvenkind.com>2006-12-08 16:01:22 +0000
commita55e1b8331601196626c7c161633e82bb79cff27 (patch)
tree59c0aaa3725ad6191b0cb4542636001e0d0cb1ac /Master/texmf-dist/tex/context/third
parent1b2c4f55681cc066837d2ed83634ca8ef98acdee (diff)
a new package: context-contrib
git-svn-id: svn://tug.org/texlive/trunk@2640 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context/third')
-rw-r--r--Master/texmf-dist/tex/context/third/bnf/t-bnf.tex195
-rw-r--r--Master/texmf-dist/tex/context/third/chromato/t-chromato.tex143
-rw-r--r--Master/texmf-dist/tex/context/third/cmscbf/t-cmscbf.tex42
-rw-r--r--Master/texmf-dist/tex/context/third/cmttbf/t-cmttbf.tex45
-rw-r--r--Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex153
-rw-r--r--Master/texmf-dist/tex/context/third/degrade/t-degrade.tex163
-rw-r--r--Master/texmf-dist/tex/context/third/french/t-french.tex77
-rw-r--r--Master/texmf-dist/tex/context/third/lettrine/t-lettrine.tex163
-rw-r--r--Master/texmf-dist/tex/context/third/typearea/t-typearea.tex100
-rw-r--r--Master/texmf-dist/tex/context/third/urwgaramond/t-urwgaramond.tex3
-rw-r--r--Master/texmf-dist/tex/context/third/urwgaramond/type-urwgaramond.tex84
-rw-r--r--Master/texmf-dist/tex/context/third/urwgothic/type-urwgothic.tex30
12 files changed, 1198 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/context/third/bnf/t-bnf.tex b/Master/texmf-dist/tex/context/third/bnf/t-bnf.tex
new file mode 100644
index 00000000000..3f40c3e7971
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/bnf/t-bnf.tex
@@ -0,0 +1,195 @@
+%D \module
+%D [ file=t-bnf,
+%D version=2004.6.23,
+%D title=\CONTEXT\ BNF Grammar Module,
+%D subtitle=Grammars,
+%D author={Nikolai Weibull},
+%D date=\currentdate,
+%D copyright={Nikolai Weibull}]
+%C
+%C This module is NOT part of the \CONTEXT\ macro||package.
+%C This module 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 2 of the License, or
+%C (at your option) any later version.
+%C
+%C This module 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, write to the Free Software
+%C Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+\writestatus{loading}{BNF Macros / Initialization}
+
+\unprotect
+
+%M \usemodule[bnf]
+%D We define a new system variable for our settings:
+
+\definesystemvariable{bnf}
+
+%D We need some constants for the multi||lingual interface,
+
+\startconstants english dutch
+ terminalstart: terminalstart terminalstart
+ terminalstop: terminalstop terminalstop
+ nonterminalstart: nonterminalstart nonterminalstart
+ nonterminalstop: nonterminalstop nonterminalstop
+ is: is worden
+\stopconstants
+
+%D and while we're at it, lets define some variables.
+
+\startvariables english dutch
+ bnfgrammar: bnfgrammar bnfspraakleer
+ bnfgrammars: bnfgrammars bnfspraakleer
+\stopvariables
+
+%D Finally, we want the commands to be multi||lingually accessible, so we set
+%D that up as well:
+
+\startcommands english dutch
+ setupbnfgrammar: setupbnfgrammar stelbnfspraakleer
+ startbnfgrammar: startbnfgrammar startbnfspraakleer
+ stopbnfgrammar: stopbnfgrammar startbnfspraakleer
+\stopcommands
+
+%D \macros
+%D {startbnfgrammar, stopbnfgrammar}
+%D
+%D Now to the interesting parts, those that are actually useful to the outside
+%D world. First we have the \type{\startbnfgrammar} and \type{\stopbnfgrammar}
+%D pairs, which are of course used to delimit \BNF\ grammars. We would like to
+%D define \type{\startbnfgrammar} as \type{\def\startbnfgrammar[#1]}, but a bug
+%D in \CONTEXT\ prevents us from doing this, as the first character in the
+%D grammar may be active, for example \type{<}, but while checking for the
+%D presence of \type{[}, it gets ruined. A way around it is of course to
+%D require that the user pass an empty \type{[]} pair, and we will use this
+%D method at the moment.
+
+\def\complexstartbnfgrammar[#1]%
+ {\endgraf\nobreak\medskip
+ \begingroup
+ \setupbnfgrammar[#1]%
+ \chardef\bnfsinglequote=`'
+ \defineactivecharacter : {\@@bnfis}
+ \defineactivecharacter | {\@@bnfoption}
+ \defineactivecharacter " %
+ {\thinspace\bgroup\@@bnfterminalstart\setupinlineverbatim%
+ \defineactivecharacter " {\@@bnfterminalstop\egroup\thinspace}}
+ \defineactivecharacter ' %
+ {\thinspace\bgroup\@@bnfterminalstart\setupinlineverbatim%
+ \defineactivecharacter ' {\@@bnfterminalstop\egroup\thinspace}}
+ \catcode`<=13
+ \let\par=\bnfgrammarline
+ \obeylines}
+
+\def\stopbnfgrammar{\medbreak\checknextindentation[\@@bnfindentnext]}
+
+\definecomplexorsimpleempty\startbnfgrammar
+
+%D \macros
+%D {<>,bnfgrammarrule}
+%D
+%D We need a couple more macros to deal with the interior of a \BNF\ grammar.
+%D \type{\<>} is used for non||terminals, and \type{\bnfgrammarrule} is used
+%D later on in \type{\bnfgrammarswitch} for continuing a line.
+
+\def\<#1>{\leavevmode\hbox{\@@bnfnonterminalstart#1\/\@@bnfnonterminalstop}}
+
+\bgroup
+ \catcode`<=13
+ \global\let<=\<
+ \gdef\bnfgrammarrule<#1>{\endgraf\indent\<#1>}
+\egroup
+
+%D \macros
+%D {bnfgrammarline, bnfgrammarswitch, bnfgrammarcont}
+%D
+%D These macros deal with the ending of a line in a grammar.
+%D \type{\bnfgrammarline} is called whenever a new line begins, and invokes
+%D \type{\bnfgrammarswitch} to determine what to do next. If the next token is
+%D \type{\<}, we will call upon \type{\bnfgrammarrule} to deal with the new
+%D rule. If it is \type{\stopbnfgrammar}, we end the top||level group, and let
+%D it process \type{\stopbnfgrammar} afterwards. Otherwise we invoke
+%D \type{\bnfgrammarcont}, which will end the line and add some indentation to
+%D the continuing line.
+
+\def\bnfgrammarline{\futurelet\next\bnfgrammarswitch}
+\def\bnfgrammarswitch%
+ {\ifx\next\<
+ \let\next=\bnfgrammarrule
+ \else\ifx\next\stopbnfgrammar
+ \let\next=\endgroup
+ \else
+ \let\next=\bnfgrammarcont
+ \fi\fi
+ \next}
+\def\bnfgrammarcont{\hfil\break\indent\qquad}
+
+%D \macros
+%D {setupbnfgrammar}
+%D
+%D We want to allow our users to change the way the \BNF\ grammars are typeset,
+%D so we define a setup command for them to use.
+%D
+%D It allows you to define the start and stop sequence for terminals and
+%D non||terminals, as well as colons (lhs / rhs separator) and vertical bars
+%D (alternative), and commas. This has been multi||lingualized above, so
+%D choose your language.
+
+\def\dosetupbnfgrammar[#1]%
+ {\getparameters[\??bnf][#1]}
+
+\def\setupbnfgrammar%
+ {\dosingleargument\dosetupbnfgrammar}
+
+\setupbnfgrammar
+ [\c!terminalstart=\tttf,
+ \c!terminalstop=,
+ \c!nonterminalstart=\mathematics{\langle},
+ \c!nonterminalstop=\mathematics{\rangle},
+ \c!is={ \mathematics{\longrightarrow}},
+ \c!option=\mathematics{\vert},
+ \c!indentnext=\v!no]
+
+%D \macros
+%D {BNF}
+%D
+%D We also define a useful abbreviation to be used for header texts and labels.
+
+\logo[BNF]{bnf}
+
+%D And we use it here:
+
+\setupheadtext[\s!en][\v!bnfgrammar=\BNF\ Grammar]
+\setupheadtext[\s!en][\v!bnfgrammars=\BNF\ Grammars]
+\setuplabeltext[\s!en][\v!bnfgrammar=\BNF\ Grammar ]
+
+%D Finally we define a float to be use with \BNF\ grammars, so that we can
+%D finish off with something like this:
+%D
+%D \startbuffer
+%D \placebnfgrammar
+%D [][]
+%D {An example of a placed grammar.}
+%D {\startbnfgrammar[]
+%D <exp>: <num> | <num> "+" <num>
+%D <num>: "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
+%D \stopbnfgrammar}
+%D \stopbuffer
+%D
+%D \typebuffer
+%D
+%D \getbuffer
+%D
+%D which looks kind of nice.
+
+\definefloat
+ [\v!bnfgrammar]
+ [\v!bnfgrammars]
+
+\protect \endinput
diff --git a/Master/texmf-dist/tex/context/third/chromato/t-chromato.tex b/Master/texmf-dist/tex/context/third/chromato/t-chromato.tex
new file mode 100644
index 00000000000..7fd3c5a4f03
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/chromato/t-chromato.tex
@@ -0,0 +1,143 @@
+%D \enableregime[il1]
+%D \module
+%D [ file=t-chromato,
+%D version=2006.09.21,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Macros for chromatograms,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+\startmodule[chromato]
+
+\writestatus{loading}{Macros for chromatograms}
+
+%D This parameter is needed because \type{\setupcaptions[align=hanging]} does
+%D not work (see also
+%D \type{http://context.literatesolutions.com/collector/82}).
+\setupmodule[captionhanging=off]
+
+\unprotect
+
+\processaction[\currentmoduleparameter{captionhanging}]
+ [ on=>\def\Caption@Hanging{\setupalign[hanging]},
+ \v!unknown=>\def\Caption@Hanging{},
+ \v!default=>\def\Caption@Hanging{}]
+
+%D Some internal dimensions:
+\doifundefined{Width}{\newdimen\Width}
+\doifundefined{Height}{\newdimen\Height}
+
+%D \macros{startChromato}
+%D Starting a chromatogram.
+\def\startChromato{\bgroup\dosingleempty\dostartChromato}
+\def\dostartChromato[#1]#2#3{\getparameters[CHROM][dim=0.6,#1]
+ \def\myChromFig{\doifdefinedelse{CHROMSdim}{%
+ \externalfigure[#2][height=\CHROMSdim\textheight]}{%
+ \externalfigure[#2][width=\CHROMdim\makeupwidth]}}%
+ \setbox\scratchbox\hbox{\myChromFig}%
+ \Width=\wd\scratchbox \Height=\ht\scratchbox \setuppositioning[unit=pt]
+ \gdef\SavedCaption{#3}\doifundefined{CHROMSdim}{\placefigure[][fig:#2]{%
+ \Caption@Hanging#3}}%
+ \bgroup\startpositioning\position(0,0){\myChromFig}}
+
+%D \macros{stopChromato}
+%D End of chromatogram.
+\def\stopChromato{\stoppositioning\egroup\egroup{\doifdefined{CHROMSdim}{%
+ \SavedCaption}}}
+
+%D \macros{startChromatos}
+%D Begin set of of chromatograms.
+\def\startChromatos{\dosingleempty\dostartChromatos}
+\def\dostartChromatos[#1]#2#3{\placefigure[][fig:#2]{%
+ \Caption@Hanging#3}\bgroup
+ \getparameters[CHROMS][dim=0.3,#1]
+ \doifdefined{CHROMSdist}{\setupcombinations[distance=\CHROMSdist em]}%
+ \startcombination[2*1]}
+
+%D \macros{stopChromatos}
+%D End of chromatograms.
+\def\stopChromatos{\stopcombination\egroup}
+
+%D Internal macro: position left or right:
+\define[3]\LRposition{\edef\YPos{\withoutpt{\the\dimexpr(\withoutpt{%
+ \the\dimexpr(#1pt/100)}\Height - 0.1\baselineskip)}}%
+ \position(#2,\YPos){\vbox to 2pt{\vss{\hbox to 0pt{#3}\vss}}}}
+
+%D \macros{Lbrace}
+%D Place a brace at the left.
+\define[4]\Lbrace{\LRposition{#1}0{\hss\rotate[rotation=90]{%
+ $\overbrace{\hskip#2\Height}^{%
+ \displaystyle\text{\rotate[rotation=270]{#4}}}$}\hskip#3em}}
+
+%D \macros{Rbrace}
+%D Place a brace at the right.
+\define[4]\Rbrace{\LRposition{#1}{\withoutpt{\the\Width}}{\hskip#3em
+ \rotate[rotation=270]{$\overbrace{\hskip#2\Height}^{%
+ \displaystyle\text{\rotate[rotation=90]{#4}}}$}\hss}}
+
+%D \macros{Larrow}
+%D Place a flesh at the left.
+\define[2]\Larrow{\LRposition{#1}0{\hss{\tx#2} $\rightarrow$}}
+
+%D \macros{Rarrow}
+%D Place a flesh at the right.
+\define[2]\Rarrow{\LRposition{#1}{\withoutpt{\the\Width}}{$\leftarrow$ \tx#2}}
+
+%D \macros{Above,Abrace}
+%D Place something above the chromatogram.
+\define[3]\Oposition{\edef\XPos{\withoutpt{\the\dimexpr(\withoutpt{%
+ \the\dimexpr(#1pt/100)}\Width)}}%
+ \position(\XPos,-\withoutpt{\the\dimexpr(#2\baselineskip)}){%
+ \hbox to 0pt{\hss#3\hss}}}
+\define[2]\Above{\Oposition{#1}{0.8}{\tx#2}}
+\define[3]\Abrace{\Oposition{#1}{2.5}{%
+ $\overbrace{\hskip#2\Width}^{\displaystyle\text{#3}}$}}
+
+\protect
+
+\stopmodule
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+\usemodule[chromato]
+\enableregime[il1]
+\mainlanguage[de]
+\starttext
+\startChromato{ecolizeit}{Expression der rekombinanten Fucosyltransferase~V in
+ {\em E.~coli}.}
+ \Above{5}{BRS}\Above{15}{1h}\Above{26}{2h}\Above{38}{3h}\Above{50}{4h}
+ \Above{61}{1h}\Above{72}{2h}\Above{83}{3h}\Above{94}{4h}
+ \Larrow{12}{97\,kDa}\Larrow{20}{66\,kDa}
+ \Larrow{32}{45\,kDa}\Larrow{52}{31\,kDa}
+ \Lbrace{39}{0.75}{4}{A}
+ \Lbrace{90}{0.16}{4}{B}
+ \Abrace{32}{0.42}{löslich}
+ \Abrace{77}{0.42}{unlöslich}
+ \Rarrow{29}{FucT~V}\Rarrow{87}{FucT~V}
+\stopChromato
+\startChromatos[dim=0.17,dist=2]{saeuger}{Expression von rekombinanter
+ Fucosyltransferase~V in unterschiedlichen Säugerzellinien.}
+ \startChromato{saeuger}{A}
+ \Above{26}{CHO}\Above{74}{HEK}
+ \Larrow{4}{96\,kDa}\Larrow{37}{66\,kDa}\Larrow{81}{45\,kDa}
+ \stopChromato
+ \startChromato{saeugerred}{B}
+ \Above{26}{CHO}\Above{74}{HEK}
+ \Rarrow{81}{FucT~V}
+ \stopChromato
+\stopChromatos
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/cmscbf/t-cmscbf.tex b/Master/texmf-dist/tex/context/third/cmscbf/t-cmscbf.tex
new file mode 100644
index 00000000000..b3903fa7614
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/cmscbf/t-cmscbf.tex
@@ -0,0 +1,42 @@
+%D \useregime[il9]
+%D \enableregime[il9]
+%D \module
+%D [ file=t-cmscbf,
+%D version=2006.09.12,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Bold Small Caps for Computer/Latin Modern,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+\writestatus{loading}{Bold Small Caps for Computer/Latin Modern}
+
+\definebodyfont[15pt,14pt,13pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt]
+ [sc] [bf=cmbcsc10 sa 1, tf=cmcsc10 sa 1]
+
+%D Hint: when producing PDF, adjust your resolution with
+%D \type{\pdfpkresolution=xxx}
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+\usemodule[cmscbf]
+\useregime[il9]
+\enableregime[il9]
+\pdfpkresolution=1200
+\starttext
+{\sc Normal and \bf bold Small Caps.}
+{\sc Äö¤½æ¼Æ \bf Äö¤½æ¼Æ}
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/cmttbf/t-cmttbf.tex b/Master/texmf-dist/tex/context/third/cmttbf/t-cmttbf.tex
new file mode 100644
index 00000000000..77618732dd6
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/cmttbf/t-cmttbf.tex
@@ -0,0 +1,45 @@
+%D \useregime[il9]
+%D \enableregime[il9]
+%D \module
+%D [ file=t-cmttbf,
+%D version=2006.09.12,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Bold Typewriter for Computer/Latin Modern,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+\writestatus{loading}{Bold Typewriter for Computer/Latin Modern}
+
+\definebodyfont[15pt,14pt,13pt,12pt,11pt,10pt] [tt] [bf=cmbtt10 sa 1]
+\definebodyfont[9pt] [tt] [bf=cmbtt9]
+\definebodyfont[8pt,7pt,6pt,5pt] [tt] [bf=cmbtt8 sa 1]
+%\definebodyfont[15pt,14pt,13pt,12pt,11pt,10pt,9pt,8pt,7pt,6pt,5pt]
+% [tt] [bf=cmttb10 sa 1]
+
+%D Hint: when producing PDF, adjust your resolution with
+%D \type{\pdfpkresolution=xxx}
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+\usemodule[cmttbf]
+\useregime[il9]
+\enableregime[il9]
+\pdfpkresolution=1200
+\starttext
+{\tt Normal and \bf bold Typewriter.}
+{\tt Äö¤½æ¼Æ \bf Äö¤½æ¼Æ}
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex b/Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex
new file mode 100644
index 00000000000..b8dd9bea556
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/construction-plan/t-construction-plan.tex
@@ -0,0 +1,153 @@
+%D \enableregime[utf]
+%D \module
+%D [ file=t-construction-plan,
+%D version=2006.09.12,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Construction plans,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+\writestatus{loading}{Typesetting construction plans}
+
+\unprotect
+
+%D We need a lot of space.
+\setuplayout[header=0pt,footer=0pt,backspace=2cm,width=middle,
+ topspace=1cm,height=middle]
+
+%D Doing pagenumbering on our own.
+\setuppagenumbering[state=stop]
+
+%D \enableregime[utf]
+%D \macros
+%D {setupPlan}
+%D
+%D Setting up some values.
+%D
+%D Default setup:
+%D
+%D \starttyping
+%D \setupPlan[Paper=A3,Project=,Author=,Prec=10]
+%D \stoptyping
+%D
+%D Example:
+%D
+%D \starttyping
+%D \setupPlan[Paper=A3,Project=My garage,Author=Peter Münster,
+%D Prec=Precision factor for figure width]
+%D \stoptyping
+\def\setupPlan[#1]{\getparameters[Cp][#1]}
+\setupPlan[Paper=A4,Project=,Author=,Date=,Prec=10]
+
+%D Support for more than one language!
+\setuplabeltext[fr][project=Projet,author=Auteur,date=Date,scale=\'Echelle]
+\setuplabeltext[en][project=Project,author=Author,date=Date,scale=Scale]
+\setuplabeltext[de][project=Projekt,author=Autor,date=Datum,scale=Ma\ssharp
+ stab]
+
+%D \macros
+%D {Plan}
+%D
+%D Makes a page with a plan and some comments below it.
+%D
+%D Example:
+%D
+%D \starttyping
+%D \Plan[Prefix=file prefix,Scale=scale of figure,mm=width of figure in mm,
+%D Title=title of plan]
+%D \stoptyping
+%D
+%D If you want to include the file \type{plan-20000.eps} you have to use
+%D \type{Prefix=plan,mm=20000}.
+%D
+%D Sample document:
+%D
+%D \starttyping
+%D \usemodule[construction-plan]
+%D \mainlanguage[fr] % or better: \usemodule[french]
+%D \starttext
+%D \Plan[Prefix=situ,Scale=2000,mm=351000,Title=Plan de situation]
+%D \Plan[Prefix=masse,Scale=400,mm=66000,Title=Plan de masse]
+%D \Plan[Prefix=nord,Scale=100,mm=20906,Title=Façade nord]
+%D \Plan[Prefix=sud,mm=18900,Title=Façade sud]
+%D \Plan[Prefix=west,mm=23390,Title=Pignon ouest]
+%D \Plan[Prefix=ost,mm=23513,Title=Pignon est]
+%D \Plan[Prefix=rdc,mm=18456,Title=Rez-de-chaussée]
+%D \Plan[Prefix=etage,mm=16695,Title=Étage]
+%D \Plan[Prefix=haus1,Scale=150,mm=30000,Title=Simulation 1]
+%D \Plan[Prefix=haus2,Scale=100,mm=20000,Title=Simulation 2]
+%D \stoptext
+%D \stoptyping
+
+\def\@BottomLine{{\tx\doifsomething\CpProject{%
+ \labeltext{project}: \CpProject, }%
+ \doifsomething\CpAuthor{\labeltext{author}: \CpAuthor, }%
+ \labeltext{date}: \doifelsenothing\CpDate\currentdate\CpDate}\hfill}
+
+\newdimen\CpWidth \newdimen\CpHeight
+\def\Plan[#1]{%
+ \getparameters[Cp][#1]
+ \CpWidth=\dimexpr(\the\numexpr(\CpPrec*\Cpmm/\CpScale)mm/\CpPrec)
+ \def\CpFig{\externalfigure[\CpPrefix-\Cpmm][width=\the\CpWidth]}%
+ \setbox\scratchbox\hbox{\CpFig}\CpHeight=\ht\scratchbox
+ \ifdim\CpWidth>1.2\CpHeight
+ \setuppapersize[\CpPaper,landscape,rotated][\CpPaper]
+ \else
+ \setuppapersize[\CpPaper][\CpPaper]
+ \fi
+ \startstandardmakeup
+ \midaligned{\CpFig}\vfil\@BottomLine
+ \framed[align=lohi,offset=2ex]{{\bfc\CpTitle}\blank
+ \labeltext{scale}: 1/\CpScale\quad\hfill(\currentpage/\lastpage)}%
+ \vskip0pt plus -1fil
+ \stopstandardmakeup}
+
+%D \macros
+%D {NoPlan}
+%D
+%D Makes a page with some content and some comments below it.
+%D
+%D Example:
+%D
+%D \starttyping
+%D \NoPlan[Title=Some notes]{Here are some notes about the plans.}
+%D \stoptyping
+
+\long\def\NoPlan[#1]#2{%
+ \getparameters[Cp][#1]
+ \setuppapersize[\CpPaper][\CpPaper]
+ \startstandardmakeup
+ #2\vfil\@BottomLine
+ \framed[align=lohi,offset=2ex]{{\bfc\CpTitle}\blank
+ (\currentpage/\lastpage)}\vskip0pt plus -1fil
+ \stopstandardmakeup}
+
+\protect
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+\usemodule[construction-plan]
+\mainlanguage[de]
+\enableregime[il1]
+\setupPlan[Paper=A3,Project=Mein Haus,Prec=15]
+\starttext
+\Plan[Prefix=unten,Scale=100,mm=21478,Title=Erdgeschoß]
+\Plan[Prefix=oben,mm=21345,Title=Obergeschoß]
+\Plan[Prefix=simulation,Scale=250,mm=80000,Title=Simulation]
+\NoPlan[Title=Notizen,Paper=A4]{\tfb\setupinterlinespace
+ Einige Notizen, die das Bauvorhaben beschreiben...}
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/degrade/t-degrade.tex b/Master/texmf-dist/tex/context/third/degrade/t-degrade.tex
new file mode 100644
index 00000000000..b2dbba495c3
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/degrade/t-degrade.tex
@@ -0,0 +1,163 @@
+%D \enableregime[utf]
+%D \module
+%D [ file=t-degrade,
+%D version=2006.09.12,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Degrading JPEG images,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+\writestatus{loading}{Degrading JPEG images on the fly}
+
+\unprotect
+
+%D In this module we suppose, that original figures are either eps or jpg.
+%D When creating pdf, eps is converted to pdf, and when creating dvi,
+%D jpg is converted to eps.
+%D Furthermore, jpg-images can be degraded to a given resolution, to get
+%D smaller documents.
+
+%D When
+%D \type{http://context.literatesolutions.com/collector/63}
+%D is solved, we can make it better using \type{\appliedfigurefilename},
+%D \type{\figurewidth} etc, and without redefining \type{\externalfigure}.
+
+%D \macros{setupDegrade}
+%D Sets the resolution, the directory for degraded images and the
+%D directory, where the original images can be found (source directory).
+%D
+%D Default setup:
+%D
+%D \starttyping
+%D \setupDegrade[Res=100,Dir=degrade,SDir=.]
+%D \stoptyping
+%D
+%D Example:
+%D
+%D \starttyping
+%D \setupDegrade[Res=600,Dir=degraded-images,SDir=/home/peter/jpegs]
+%D \stoptyping
+
+\def\setupDegrade[#1]{\getparameters[Deg][#1]}
+\setupDegrade[Res=100,Dir=degrade,SDir=.]
+
+%D In order to use this module, you must use \type{\externalfigure}
+%D in the following way: \type{\externalfigure[file-prefix][options]},
+%D where \type{options} must contain the width or the height.
+%D Furthermore, \type{\write18} must be enabled.
+%D The shell-script is in a buffer, just to keep this module in only
+%D one file.
+
+\startbuffer[degrade-script]
+#!/bin/bash
+
+# We consider, that original figures are either eps or jpg.
+
+# Arguments:
+# $1 = filename
+# $2 = eps or pdf
+# $3 = w or h
+# $4 = resolution
+# $5 = dimension of image
+# $6 = source directory
+# $7 = destination directory
+
+for i in jpeg2ps convert identify bc; do
+ if ! type $i &>/dev/null; then
+ echo Error: $i is not installed.
+ exit 1
+ fi
+done
+
+EPSTOPDF=epstopdf
+
+if ! type epstopdf &>/dev/null; then
+ if type texmfstart &>/dev/null; then
+ EPSTOPDF="texmfstart newpstopdf"
+ else
+ EPSTOPDF="texutil --figures --epstopdf"
+ fi
+fi
+
+if [ -s "$1.jpg" ]; then
+ if [ "$2" = eps ] && [ "$1.jpg" -nt "$1.eps" ]; then
+ jpeg2ps "$1.jpg" >"$1.eps"
+ fi
+else
+ if [ "$2" = pdf ] && [ "$1.eps" -nt "$1.pdf" ]; then
+ $EPSTOPDF "$1.eps"
+ fi
+fi
+
+X=
+[ $3 = h ] && X=x
+FORMAT="%$3"
+FILE="$6/$1.jpg"
+DFILE="$7/$1.jpg"
+DFILE_EPS="$7/$1.eps"
+DPI="$4"
+IW="$5"
+MODE="$2"
+INCH=72.27
+
+mkdir -p $7
+
+if [ -s "$FILE" ]; then
+ W=`identify -format "$FORMAT" "$FILE"`
+else
+ rm -f "$DFILE"
+ exit 0
+fi
+
+NW=`echo "$DPI * $IW / $INCH" | bc`
+
+if [ $NW -ge $W ]; then
+ rm -f "$DFILE"
+else
+ if [ -s "$DFILE" ] && \
+ [ `identify -format "$FORMAT" "$DFILE"` -eq $NW ]; then
+ exit 0
+ else
+ convert -verbose -resize $X$NW "$FILE" "$DFILE"
+ [ $MODE = eps ] && jpeg2ps "$DFILE" >"$DFILE_EPS"
+ fi
+fi
+\stopbuffer
+
+\def\Command{\immediate\write18}
+\let\externalfigureO=\externalfigure
+\def\externalfigure[#1][#2]{%
+ \getparameters[Deg][height=,#2]%
+ \processaction[\Degheight][%
+ \s!default =>\scratchdimen=\Degwidth \def\Deg@WH{w},
+ \s!unknown =>\scratchdimen=\Degheight \def\Deg@WH{h}]%
+ \Command{bash ./\jobname-degrade-script.tmp #1 \ifcase\pdfoutput eps\else
+ pdf\fi\space\Deg@WH\space\DegRes\space\withoutpt\the\scratchdimen\space
+ \DegSDir\space\DegDir}%
+ \doiffileexistselse{\DegDir/#1.jpg}{\def\Deg@File{\DegDir/#1}}{%
+ \def\Deg@File{#1}}%
+ \externalfigureO[\Deg@File][#2]}
+
+\protect
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+%\usemodule[degrade]
+% \setupDegrade[Res=200] Here you can adjust the resolution (unit = dpi).
+\starttext
+\externalfigure[hacker][width=0.2\textwidth]
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/french/t-french.tex b/Master/texmf-dist/tex/context/third/french/t-french.tex
new file mode 100644
index 00000000000..86d0095b1f1
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/french/t-french.tex
@@ -0,0 +1,77 @@
+%D \enableregime[utf]
+%D \module
+%D [ file=t-french,
+%D version=2006.09.12,
+%D title=\CONTEXT\ User Module,
+%D subtitle=For French documents,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+%D \enableregime[utf]
+%D This module tries to do similar things as the frenchb.ldf in LaTeX:
+%D \startitemize
+%D \item automatic space before » and after «, :, ?, ; and !
+%D \item changing symbol for itemize environment
+%D \stopitemize
+%D
+%D There are still some bugs:
+%D \startitemize
+%D \item automatic space before » and after « does not work with utf
+%D \item when loaded in a project file, the activation of the characters : and
+%D ; gets lost in the products
+%D \stopitemize
+%D
+%D In a next version, we will use the new pre-spacing-feature of pdfTeX:
+%D no more active characters!
+
+\writestatus{loading}{Typesetting French documents}
+
+\def\activateSomeCharacters{%
+ \defineactivecharacter « {\leftguillemot\,}% does not seem to work
+ \defineactivecharacter » {\,\rightguillemot}% with utf-encoding... :(
+ \defineactivecharacter ! {\,\string!}%
+ \defineactivecharacter ? {\,\string?}%
+ \defineactivecharacter : {\,\string:}%
+ \defineactivecharacter ; {\,\string;}}
+
+\startlanguagespecifics[fr]
+ \activateSomeCharacters
+ \setupitemize[symbol=2]
+ \lccode`\'=`\'
+\stoplanguagespecifics
+
+\mainlanguage[fr]
+
+\appendtoks\activateSomeCharacters\to\everystarttext
+
+%% This is also an option:
+%\definehspace[fr][:][.166667em]
+%\definehspace[fr][;][.166667em]
+%\definehspace[fr][!][.166667em]
+%\definehspace[fr][?][.166667em]
+%\useencoding[ffr]
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+\enableregime[il9]
+\usemodule[french]
+\starttext
+Voilà: Voilà? Voilà! Voilà; «voilà»
+
+\enableregime[utf]
+Voilà: Voilà? Voilà! Voilà; {\en does not work with utf:} «voilà»
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/lettrine/t-lettrine.tex b/Master/texmf-dist/tex/context/third/lettrine/t-lettrine.tex
new file mode 100644
index 00000000000..ea86ddc416e
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/lettrine/t-lettrine.tex
@@ -0,0 +1,163 @@
+%D \module
+%D [ file=t-lettri,
+%D version=2006.01.27,
+%D title=\CONTEXT\ Lettrines,
+%D subtitle=Funny stuff,
+%D author=Taco Hoekwater,
+%D date=\currentdate,
+%D copyright=Public Domain]
+%C
+%C Donated to the public domain.
+
+%D This is just a quick and dirty conversion of the LaTeX package
+%D
+%D \ProvidesFile{lettrine.sty}[2004/05/22 v1.6 (D. Flipo)]
+%D
+%D Errors are likely mine, credit is due to Daniel.Flipo@univ-lille1.fr
+%D
+%D If enough people like it, I may even clean this mess up sometime. The
+%D current version is just a (c)rude conversion of the low-level LaTeX
+%D stuff to sometimes even lower-level ConTeXt.
+%D
+%D Changes:
+%D 2005.08.29: support use within \startframedtext ..\stop
+%D 2006.01.27: support use within \startnarrower..\stop
+
+\unprotect
+
+\newbox\Lettrinelbox
+\newbox\Lettrinetbox
+
+\newcount\Lettrinelines
+
+\newdimen\LettrineHeight
+\newdimen\Lettrinefirst
+\newdimen\Lettrinenext
+\newdimen\Lettrineraise
+
+\newdimen\Lettrinepindent
+\newdimen\Lettrinefindent
+\newdimen\Lettrinenindent
+
+\getparameters[LettrineDefault]
+ [Lines=2,
+ Hang=0,
+ Oversize=0,
+ Raise=0,
+ Findent=0pt,
+ Nindent=0.5em,
+ Slope=0pt,
+ Ante=,
+ FontHook=,
+ TextFont=\sc,
+ Image=\v!no]
+
+\def\setuplettrine{\dodoubleempty\dosetuplettrine}
+
+\def\dosetuplettrine[#1][#2]{%
+ \doifassignmentelse{#1}{%
+ \dodosetuplettrine[][#1]%
+ }{%
+ \def\ascii{}%
+ \doifsomething{#1}{\convertargument#1\to\ascii }%
+ \expandafter\dodosetuplettrine\expandafter[\ascii][#2]%
+ }%
+}
+
+
+\def\dodosetuplettrine[#1][#2]{%
+ \getparameters[LettrineDefault#1][#2]
+}
+
+\def\doLettrineHeight{%
+ \LettrineHeight =\Lettrinelines\baselineskip\relax
+ \ifnum\Lettrinelines>1
+ \advance\LettrineHeight -\baselineskip
+ \fi
+ \setbox\Lettrinetbox\hbox{{\LettrineTextFont x}}%
+ \LettrineHeight = \dimexpr \LettrineHeight+ \ht\Lettrinetbox +
+ \LettrineOversize\LettrineHeight \relax
+}
+
+\def\doLettrineEPS#1{%
+ \doLettrineHeight\LettrineFontHook
+ \externalfigure[#1][\c!height=\LettrineHeight]}
+
+\def\doLettrineFont{%
+ \doLettrineHeight
+ \definefontsynonym[LettrineFont][Serif]%
+ \setbox\Lettrinetbox=\hbox{{\LettrineFontHook
+ \definedfont[LettrineFont at \the\LettrineHeight] X}}%
+ \scratchcounter = \numexpr (100*\LettrineHeight)/(\ht\Lettrinetbox/100) - 9999\relax
+ \ifnum\scratchcounter>0
+ \def\tempa{1.\the\scratchcounter}%
+ \else
+ \def\tempa{1}%
+ \fi
+ \LettrineFontHook
+ \!!dimena = \tempa\LettrineHeight
+ \definedfont[LettrineFont at \the\!!dimena]%
+}%
+
+\def\lettrine{\dosingleempty\dolettrine}
+
+\def\dolettrine[#1]#2#3{%
+ \convertargument#2\to\ascii
+ \def\lettrgetparam##1{%
+ \ifcsname LettrineDefault\ascii##1\endcsname
+ \setevalue{Lettrine##1}{\csname LettrineDefault\ascii##1\endcsname}%
+ \else
+ \setevalue{Lettrine##1}{\csname LettrineDefault##1\endcsname}%
+ \fi}%
+ \processcommalist
+ [Lines,Hang,Oversize,Raise,Findent,Nindent,Slope,Ante,FontHook,TextFont,Image]\lettrgetparam
+ \getparameters[Lettrine][#1]%
+ \Lettrinenindent=\LettrineNindent\relax
+ \Lettrinefindent=\LettrineFindent\relax
+ \Lettrinelines =\LettrineLines\relax
+ \setbox\Lettrinelbox\hbox{{\ifx\LettrineImage\v!yes\doLettrineEPS{#2}\else
+ \ifx\LettrineImage\v!true\doLettrineEPS{#2}\else
+ \doLettrineFont #2\fi\fi}}%
+ \setbox\Lettrinetbox\hbox{{\LettrineTextFont{#3}}}%
+ \ifnum\Lettrinelines=1
+ \Lettrinefirst = \dimexpr \ht\Lettrinelbox-\ht\Lettrinetbox \relax
+ \Lettrineraise=0pt
+ \else
+ \setbox\scratchbox\hbox{{\LettrineTextFont x}}%
+ \Lettrinefirst = \dimexpr -\Lettrinelines\baselineskip + \baselineskip
+ -\ht\scratchbox \relax
+ \Lettrineraise = \dimexpr\LettrineRaise\Lettrinefirst \relax
+ \Lettrineraise = -\Lettrineraise \relax
+ \Lettrinefirst = \dimexpr\Lettrinefirst+\Lettrineraise+\ht\Lettrinelbox \relax
+ \Lettrineraise = \dimexpr\Lettrineraise-\Lettrinelines\baselineskip +\baselineskip \relax
+ \fi
+ \par
+ \ifdim\Lettrinefirst>0.2pt\vskip\Lettrinefirst\fi
+ \setbox\scratchbox= \hbox{\LettrineAnte}%
+ \setlocalhsize
+ \Lettrinepindent= \dimexpr \wd\Lettrinelbox -\LettrineHang\wd\Lettrinelbox +
+ \wd\scratchbox + \Lettrinefindent \relax
+ \Lettrinefirst=\dimexpr \localhsize -\Lettrinepindent +\rightskip+\leftskip\relax
+ \advance\Lettrinenindent \Lettrinepindent
+ \Lettrinenext=\dimexpr \localhsize -\Lettrinenindent +\rightskip+\leftskip\relax
+ \def\Lparshape{\the\numexpr\Lettrinelines+1\relax\space \the\Lettrinepindent\space \the\Lettrinefirst}%
+ \dorecurse{\numexpr \Lettrinelines - 1 \relax}{%
+ \edef\Lparshape{\Lparshape\space \the\Lettrinenindent\space \the\Lettrinenext}%
+ \advance\Lettrinenindent\LettrineSlope
+ \advance\Lettrinenext -\LettrineSlope
+ }%
+ \edef\Lparshape{\Lparshape\space 0pt\space \the\localhsize}%
+ \setbox\scratchbox = \hbox{\hbox{\LettrineAnte}\raise \Lettrineraise \hbox{\box\Lettrinelbox }}%
+ \scratchdimen = \dimexpr \dp\scratchbox + \ht\strutbox + 1pt\relax
+ \vskip\scratchdimen \penalty0\vskip-\scratchdimen
+ \noindent
+ \scratchdimen = \leftskip \leftskip=\scratchdimen
+ \scratchdimen = \rightskip \rightskip=\scratchdimen
+ \parshape=\Lparshape
+ \smash{\llap{\box\scratchbox}}%
+ \hskip \the\Lettrinefindent
+ \box\Lettrinetbox
+}
+
+\protect
+\endinput
diff --git a/Master/texmf-dist/tex/context/third/typearea/t-typearea.tex b/Master/texmf-dist/tex/context/third/typearea/t-typearea.tex
new file mode 100644
index 00000000000..f7626d6f07d
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/typearea/t-typearea.tex
@@ -0,0 +1,100 @@
+%D \enableregime[utf]
+%D \module
+%D [ file=t-typearea,
+%D version=2006.09.12,
+%D title=\CONTEXT\ User Module,
+%D subtitle=Something like KOMA-TypeArea,
+%D author=Peter Münster,
+%D date=\currentdate,
+%D copyright={Peter Münster}]
+%C This module is copyrighted by Peter Münster.
+%C Please send any comments to pmrb at free.fr.
+
+% This program is free software; you can redistribute it and/or
+% modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation; either version 2
+% of the License, or (at your option) any later version.
+
+% This program is distributed in the hope that it will be useful,
+% but without any warranty; without even the implied warranty of
+% merchantability or fitness for a particular purpose. See the
+% GNU General Public License for more details.
+
+\writestatus{loading}{Something like KOMA-TypeArea}
+
+\unprotect
+
+%D \macros{setupTypeArea}
+%D Setting up some values.
+%D
+%D Default setup:
+%D
+%D \starttyping
+%D \setupTypeArea[bcor=0pt,oneside=no,alphabets=2.6]
+%D \stoptyping
+%D
+%D Example:
+%D
+%D \starttyping
+%D \setupTypeArea[bcor=3mm,oneside=yes,alphabets=3.1]
+%D \stoptyping
+\def\setupTypeArea[#1]{\getparameters[TA@][#1]\doTypeArea}
+
+%D Some internal dimensions:
+\newdimen\PageWidth \newdimen\Back
+\doifundefined{Width}{\newdimen\Width}
+\doifundefined{Height}{\newdimen\Height}
+
+%D This internal macro does the whole work:
+\def\doTypeArea{
+
+%D Set visible page width:
+\PageWidth=\dimexpr\paperwidth-\TA@bcor\relax
+
+%D Determine the paper aspect ratio:
+\edef\Ratio{\withoutpt{\the\dimexpr2\paperheight/(\PageWidth/32768)\relax}}
+
+%D Set the textarea width to X alphabets:
+\setbox\scratchbox\hbox{\dorecurse{26}{\character\recurselevel}}
+\Width=\dimexpr\TA@alphabets\wd\scratchbox\relax
+\ifdim\Width<\PageWidth\else
+\writestatus{error}{line wider than page}\end\fi
+
+%D Set the textarea height proportional to the width:
+\Height=\dimexpr(\Ratio\Width)
+
+%D Set the margin/gutter widths to be equal on a full spread:
+\doifelse\TA@oneside{yes}
+ {\Back=\dimexpr(\PageWidth - \Width) / 2 + \TA@bcor\relax}
+ {\Back=\dimexpr(\PageWidth - \Width) / 3 + \TA@bcor\relax}
+
+%D Set the top and bottom margins in a 1:2 ratio, ignoring headers:
+\edef\Top{\the\dimexpr(\paperheight - \Height) / 3 - 3\lineheight\relax}
+
+%D Redefine \type{\Height} to include header and footer space:
+\Height=\dimexpr(\Height + 8\lineheight)
+
+%D Set up the page layout using the calculated parameters:
+\setuplayout[
+ backspace=\the\Back,
+ height=\the\Height,
+ width=\the\Width,
+ header=2\lineheight,
+ headerdistance=\lineheight,
+ footer=2\lineheight,
+ footerdistance=3\lineheight,
+ topspace=\Top]
+}
+\protect
+
+\setupTypeArea[bcor=0pt,oneside=no,alphabets=2.6]
+
+\doifnotmode{demo}{\endinput}
+
+%D Usage example:
+\usemodule[typearea]
+\setupTypeArea[bcor=0mm,alphabets=3.1]
+\setuppagenumbering[alternative=doublesided]
+\starttext
+\dorecurse4{\framed[width=\textwidth,height=\textheight]{test}\page}
+\stoptext
diff --git a/Master/texmf-dist/tex/context/third/urwgaramond/t-urwgaramond.tex b/Master/texmf-dist/tex/context/third/urwgaramond/t-urwgaramond.tex
new file mode 100644
index 00000000000..d6ce10790ea
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/urwgaramond/t-urwgaramond.tex
@@ -0,0 +1,3 @@
+\usetypescriptfile[type-urwgaramond]
+\usetypescript[URWGaramond]
+\setupbodyfont[urwgaramond]
diff --git a/Master/texmf-dist/tex/context/third/urwgaramond/type-urwgaramond.tex b/Master/texmf-dist/tex/context/third/urwgaramond/type-urwgaramond.tex
new file mode 100644
index 00000000000..dd0b14c584d
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/urwgaramond/type-urwgaramond.tex
@@ -0,0 +1,84 @@
+% raw fonts
+
+\starttypescript[serif] [garamond] [texnansi]
+
+\definefontsynonym[Garamond] [ugmr8a] [encoding=texnansi]
+\definefontsynonym[GaramondItalic] [ugmri8a] [encoding=texnansi]
+\definefontsynonym[GaramondBold] [ugmm8a] [encoding=texnansi]
+\definefontsynonym[GaramondBoldItalic][ugmmi8a] [encoding=texnansi]
+
+\stoptypescript
+
+% names
+
+\starttypescript [serif] [garamond] [name]
+
+\setups[font:fallback:serif]
+
+\definefontsynonym[Serif] [Garamond]
+\definefontsynonym[SerifBold] [Garamond-Bold]
+\definefontsynonym[SerifItalic] [Garamond-Italic]
+\definefontsynonym[SerifBoldItalic][Garamond-BoldItalic]
+
+\stoptypescript
+
+% synonyms
+
+\starttypescript [serif] [garamond] [texnansi]
+
+\definefontsynonym [Garamond]
+[\typescriptthree-ugmr8a]
+[encoding=\typescriptthree]
+
+\definefontsynonym [Garamond-Italic]
+[\typescriptthree-ugmri8a]
+[encoding=\typescriptthree]
+
+\definefontsynonym [Garamond-Bold]
+[\typescriptthree-ugmm8a]
+[encoding=\typescriptthree]
+
+\definefontsynonym [Garamond-BoldItalic]
+[\typescriptthree-ugmmi8a]
+[encoding=\typescriptthree]
+
+\stoptypescript
+
+% maps
+
+\starttypescript [map] [garamond] [texnansi]
+
+\loadmapfile[texnansi-urw-garamond.map]
+
+\stoptypescript%
+
+% typefaces
+
+\starttypescript [URWGaramond]
+
+\definebodyfontenvironment
+ [urwgaramond]
+ [default]
+ [interlinespace=2.8ex]
+
+\definetypeface [urwgaramond]
+[rm] [serif] [garamond] [default]
+[encoding=texnansi]
+
+\definetypeface [urwgaramond]
+[ss] [sans] [helvetica] [default]
+[encoding=texnansi]
+
+\definetypeface [urwgaramond]
+[mm] [math] [palatino] [default]
+[encoding=texnansi]
+
+\definetypeface [urwgaramond]
+[tt] [mono] [modern] [default]
+[encoding=texnansi]
+
+\stoptypescript
+
+%%% Local Variables:
+%%% mode: context
+%%% End:
diff --git a/Master/texmf-dist/tex/context/third/urwgothic/type-urwgothic.tex b/Master/texmf-dist/tex/context/third/urwgothic/type-urwgothic.tex
new file mode 100644
index 00000000000..9223dc4dc95
--- /dev/null
+++ b/Master/texmf-dist/tex/context/third/urwgothic/type-urwgothic.tex
@@ -0,0 +1,30 @@
+
+\starttypescript [sans] [urwgothic] [texnansi,ec,8r]
+ \loadmapfile[\typescriptthree-urw-urwgothic.map]
+ \definefontsynonym[URWGothicL-Book] [\typescriptthree-uagk8a] [encoding=\typescriptthree]
+ \definefontsynonym[URWGothicL-BookObli][\typescriptthree-uagko8a] [encoding=\typescriptthree]
+ \definefontsynonym[URWGothicL-Demi] [\typescriptthree-uagd8a] [encoding=\typescriptthree]
+ \definefontsynonym[URWGothicL-DemiObli][\typescriptthree-uagdo8a] [encoding=\typescriptthree]
+\stoptypescript
+
+\starttypescript [map] [urwgothic] [texansi,ec,8r]
+ \loadmapfile[\typescriptthree-urw-urwgothic.map]
+\stoptypescript
+
+\starttypescript [sans] [urwgothic] [name]
+ \definefontsynonym [Sans] [URWGothicL-Book]
+ \definefontsynonym [SansItalic] [URWGothicL-BookObli]
+ \definefontsynonym [SansBold] [URWGothicL-Demi]
+ \definefontsynonym [SansBoldItalic] [URWGothicL-DemiObli]
+ \definefontsynonym [SansSlanted] [URWGothicL-BookObli]
+ \definefontsynonym [SansBoldSlanted] [URWGothicL-DemiObli]
+\stoptypescript
+
+\starttypescript [urwgothic] [texnansi,ec,8r]
+ \definetypeface [urwgothic][ss][sans] [urwgothic][default][encoding=\typescripttwo,rscale=0.9]
+ \definetypeface [urwgothic][rm][serif][times] [default][encoding=\typescripttwo]
+ \definetypeface [urwgothic][tt][mono] [modern] [default][encoding=\typescripttwo]
+ \definetypeface [urwgothic][mm][math] [times] [default][encoding=\typescripttwo]
+ \quittypescriptscanning
+\stoptypescript
+