%% BEGIN charpath.tex/charpath.sty %% %% For stroking and filling characters with PSTricks' line and fill styles. %% \def\fileversion{0.93a} \def\filedate{93/03/12} %% %% COPYRIGHT 1993, by Timothy Van Zandt, tvz@Princeton.EDU %% See pstricks.tex or pstricks.doc for copying restrictions. %% %% See the PSTricks User's Guide for description. %% See chartest.tex for sample input. %% See chartest.ps for sample output. %% \message{ v\fileversion, \filedate} \csname PSTcharpathLoaded\endcsname \let\PSTcharpathLoaded\endinput \ifx\PSTricksLoaded\endinput\else \def\next{\input pstricks.tex} \expandafter\next \fi \edef\TheAtCode{\the\catcode`\@} \catcode`\@=11 \def\tx@CharPathShow{% /tx@CharPathSavedShow /show load def /show { % These 3 lines check whether charpath yields anything interesting. dup gsave newpath 0 0 moveto true charpath pathbbox grestore 3 -1 roll eq 3 1 roll eq and % If not, just use show. { tx@CharPathSavedShow } % Otherwise, use charpath. { true charpath } ifelse } def } \def\pscharpath{\def\pst@par{}\pst@object{pscharpath}} \def\pscharpath@i{\pst@makebox\pscharpath@ii} \def\pscharpath@ii{% \leavevmode\hbox{% \pstVerb{\tx@CharPathShow}% \box\pst@hbox \pstVerb{/show /tx@CharPathSavedShow load def}% \begin@ClosedObj \def\pst@linetype{1}% \psdashadjustfalse \showpointsfalse \let\pst@newpath\@empty \def\use@pscode{% \pst@Verb{% gsave \tx@STV \pst@code grestore \if@star\else CP newpath moveto \fi}}% \end@ClosedObj}} \def\pscharclip{\def\pst@par{}\pst@object{pscharclip}} \def\pscharclip@i{\pst@makebox\pscharclip@ii} \def\pscharclip@ii{% \leavevmode \begingroup \begin@psclip {\@startrue\pscharpath@ii}% \pstVerb{clip \if@star\else currentpoint newpath moveto\fi}% \def\endpscharclip{\end@psclip\endgroup}% \ignorespaces} \def\endpscharclip{\pst@misplaced\endpscharclip} \catcode`\@=\TheAtCode\relax \endinput %% END charpath.tex/charpath.sty