blob: 8e096c569080c8885ef590e7dbf1e0c9167163a8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
%% 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
|