summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-02-15 00:18:10 +0000
committerKarl Berry <karl@freefriends.org>2008-02-15 00:18:10 +0000
commitdd68c1b077b027da97d1d4d5c7cb2e019bd58325 (patch)
treea2923577a6848c0a4341d06fd955bf2d41d931cf /Master/texmf-dist/tex/context
parent1eb8d4fb119786820e35b966a795ad48d3ae7d8f (diff)
pdftex/graphics update
git-svn-id: svn://tug.org/texlive/trunk@6632 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/context')
-rw-r--r--Master/texmf-dist/tex/context/base/supp-mis.tex4
-rw-r--r--Master/texmf-dist/tex/context/base/supp-pdf.tex123
2 files changed, 43 insertions, 84 deletions
diff --git a/Master/texmf-dist/tex/context/base/supp-mis.tex b/Master/texmf-dist/tex/context/base/supp-mis.tex
index 51205dc1ef4..57661e591ca 100644
--- a/Master/texmf-dist/tex/context/base/supp-mis.tex
+++ b/Master/texmf-dist/tex/context/base/supp-mis.tex
@@ -384,8 +384,8 @@
\def\doconvertargument#1>{}
\long\def\convertargument#1\to#2%
- {\long\def\convertedargument{#1}%
- \edef#2{\expandafter\doconvertargument\meaning\convertedargument}}
+ {\long\def\@@convertedargument{#1}%
+ \edef#2{\expandafter\doconvertargument\meaning\@@convertedargument}}
\fi
diff --git a/Master/texmf-dist/tex/context/base/supp-pdf.tex b/Master/texmf-dist/tex/context/base/supp-pdf.tex
index 63dfb1f69c3..248b2ce924f 100644
--- a/Master/texmf-dist/tex/context/base/supp-pdf.tex
+++ b/Master/texmf-dist/tex/context/base/supp-pdf.tex
@@ -602,86 +602,8 @@
\expandafter\dohandleMPsequenceC
\fi#1}
-%\def\dohandleMPsequenceA#1 %
-% {\setMPargument{#1}%
-% \handleMPsequence}
-
\let\dohandleMPsequenceA\setMPsequence
-% \def\dohandleMPsequenceB#1 %
-% {\edef\somestring{#1}%
-% \ifx\somestring\PSmoveto
-% \edef\lastMPmoveX{\gMPa1}%
-% \edef\lastMPmoveY{\gMPa2}%
-% \PDFcode{\!MPgMPa1 \!MPgMPa2 m}%
-% \resetMPstack
-% \else\ifx\somestring\PSnewpath
-% \let\handleMPsequence\handleMPpath
-% \else\ifx\somestring\PSgsave
-% \PDFcode{q}%
-% \resetMPstack
-% \else\ifx\somestring\PSgrestore
-% \PDFcode{Q}%
-% \resetMPstack
-% \else\ifx\somestring\PSdtransform % == setlinewidth
-% \let\handleMPsequence\handleMPdtransform
-% % after that we will encounter more tokens until setlinewidth+pop
-% % or pop+setlinewidth which we catch next; we explicitly need to
-% % reset the stack since [] n setdash may follow; a more clever
-% % approach would be to read on till the condition is met, but it's
-% % the only pop / setlinewidth we will encounter so ...
-% \else\ifx\somestring\PSsetlinewidth
-% % already handled in dtransform
-% \resetMPstack
-% \else\ifx\somestring\PSpop
-% % already handled in dtransform
-% \resetMPstack
-% \else\ifx\somestring\PSconcat
-% \cleanupMPconcat
-% \PDFcode{\gMPa1 \gMPa2 \gMPa3 \gMPa4 \gMPa5 \gMPa6 cm}%
-% \resetMPstack
-% \else\ifx\somestring\PSsetrgbcolor
-% \handleMPrgbcolor
-% \resetMPstack
-% \else\ifx\somestring\PSsetcmykcolor
-% \handleMPcmykcolor
-% \resetMPstack
-% \else\ifx\somestring\PSsetgray
-% \handleMPgraycolor
-% \resetMPstack
-% \else\ifx\somestring\PStranslate
-% \PDFcode{1 0 0 1 \gMPa1 \gMPa2 cm}%
-% \resetMPstack
-% \else\ifx\somestring\PSsetdash
-% \handleMPsetdash
-% \resetMPstack
-% \else\ifx\somestring\PSsetlinejoin
-% \PDFcode{\gMPa1 j}%
-% \resetMPstack
-% \else\ifx\somestring\PSsetmiterlimit
-% \PDFcode{\gMPa1 M}%
-% \resetMPstack
-% \else\ifx\somestring\PSfshow
-% \PDFcode{n}%
-% \handleMPfshow
-% \resetMPstack
-% \else\ifx\somestring\PSsetlinecap
-% \PDFcode{\gMPa1 J}%
-% \resetMPstack
-% \else\ifx\somestring\PSrlineto
-% \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}%
-% \resetMPstack
-% \else\ifx\somestring\PSscale
-% \PDFcode{\gMPa1 0 0 \gMPa2 0 0 cm}%
-% \resetMPstack
-% \else\ifx\somestring\PSspecial
-% \handleMPspecialcommand
-% \resetMPstack
-% \else
-% \handleMPgraphic% {#1}%
-% \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
-% \handleMPsequence}
-
\def\installMPSkeywordN#1#2%
{\expandafter\def\csname\@@MP:N:#1\endcsname{#2}}
@@ -969,11 +891,48 @@
%D finally I saw the light. It proved that we also had to
%D take care of \type{(split arguments)}.
+% \def\setMPfshowfont#1#2%
+% {\font\temp=#1\space at #2\relax\temp}
+
+% \startMPcode
+% draw btex Ga toch effe f\kern0ptietsen?{}` etex ;
+% \stopMPcode
+
+\newtoks \everyMPshowfont
+
\def\setMPfshowfont#1#2%
- {\font\temp=#1\space at #2\relax\temp}
+ {\font\temp=#1\space at #2\relax\temp
+ \the\everyMPshowfont}
\let\MPfshowcommand\empty
+%D The next hackery handles characters one by one. We only support this
+%D for the latest greatest \METAPOST\ binaries, the ones that escape
+%D problematic chars.
+
+\def\doflushMPtext#1%
+ {\edef\!!stringa{#1}%
+ \expandafter\dodoflushMPtext\!!stringa\relax}
+
+\def\dodoflushMPtext
+ {\afterassignment\dododoflushMPtext\let\nexttoken=}
+
+\def\dododoflushMPtext
+ {\ifx\nexttoken\relax
+ % done
+ \else\ifx\nexttoken\char
+ \expandafter\expandafter\expandafter\dodododoflushMPtext
+ \else
+ {\nexttoken}%
+ \expandafter\expandafter\expandafter\dodoflushMPtext
+ \fi\fi}
+
+\def\dodododoflushMPtext
+ {\afterassignment\dododododoflushMPtext\scratchcounter}
+
+\def\dododododoflushMPtext
+ {{\char\scratchcounter}\let\next\dodoflushMPtext}
+
\def\dohandleMPfshow
{\bgroup
\setbox\scratchbox\hbox
@@ -1002,7 +961,7 @@
\MPfshowcommand
{\ifnum\nofMParguments=1
\def\do(##1){##1}%
- \dogMPa1%
+ \doflushMPtext{\dogMPa1}% only latest mp gets this treatment
\else
% we need to catch ( a ) (a a a) (\123 \123 \123) etc
\scratchcounter1
@@ -1162,7 +1121,7 @@
\or
\PDFcode{\!MPgMPs1 \!MPgMPs2 \!MPgMPs3 \!MPgMPs4 \!MPgMPs5 \!MPgMPs6 c}%
\or
- \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l S}%
+ \PDFcode{\!MP\lastMPmoveX\space\!MP\lastMPmoveY\space l}%
\or
\edef\lastMPmoveX{\gMPs1}% evt \!MP here
\edef\lastMPmoveY{\gMPs2}%
@@ -2086,7 +2045,7 @@
{\ifcase\finiMPpath
\chardef\finiMPpath2
\let\handleMPsequence\processMPpath
- \fi}
+ \fi}
\installMPSkeywordP \PSstroke
{\ifcase\finiMPpath
\chardef\finiMPpath1