📄 tool.hedit.eps
字号:
{
/sy sy 0.0358332 siz mul sub def
/ey ey 0.0358332 siz mul sub def
lw setlinewidth
lw 2 div sx add sy
lw 2 div sub moveto
lw 2 div ex add ey
lw 2 div sub lineto stroke
gsave
1 1 1 setrgbcolor lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto stroke
grestore
lw siz 0.0119444 mul sub setlinewidth sx sy moveto ex ey lineto
strokepath 0.0119444 siz mul setlinewidth stroke
} if
} if
} ifelse
grestore} bind def
/plain 1 def
/outline 2 def
/shadow 3 def
/outlineshadow 4 def
/fess {
currentdict /outlineFontSize known {
/outlineFontSize 2 index def
} if
findfont exch dup /siz exch def scalefont setfont
} bind def
/SHDW {gsave siz oldfontname fess siz 0.055 mul x add y siz 0.05 mul sub moveto c show grestore} def
/NRML {gsave 1 1 1 setrgbcolor siz oldfontname fess x y moveto c show grestore siz /Outline fess x y moveto c show} def
/S {
fontkind plain eq {neg moveto show} if
fontkind outline eq {neg /y exch def /x exch def /c exch def NRML} if
fontkind shadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
fontkind outlineshadow eq {neg /y exch def /x exch def /c exch def SHDW NRML} if
} bind def
/F {
/fontkind exch def
fontkind plain eq {fess} if
fontkind outline eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind shadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
fontkind outlineshadow eq {dup /oldfontname exch def exch dup /siz exch def exch OLF} if
} bind def
/makeoutlinedict 15 dict def
/makeoutlinefont
{
makeoutlinedict begin
/uniqueid exch def
/strokewidth exch def
/newfontname exch def
/basefontname exch def
/basefontdict basefontname findfont def
/numentries basefontdict maxlength 1 add def
basefontdict /UniqueID known not
{/numentries numentries 1 add def} if
/outfontdict numentries dict def
basefontdict
{
exch dup /FID ne {exch outfontdict 3 1 roll put} {pop pop} ifelse
}forall
outfontdict /FontName newfontname put
outfontdict /PaintType 2 put
outfontdict /StrokeWidth strokewidth put
outfontdict /UniqueID uniqueid put
newfontname outfontdict definefont pop
end
}def
/UID {
findfont dup /UniqueID known
{/UniqueID get 1 add}
{pop 1}
ifelse
} def
/OLF {
dup
/Outline
1000 62 div
4 -1 roll
UID
/outlineFontSize 5 index def
makeoutlinefont
/Outline findfont exch scalefont setfont
} def
/CopyEncoding {
findfont
/Encoding get
dup length array
/tarrayz exch def
tarrayz 0
3 -1 roll
putinterval
tarrayz
} bind def
/Re-encode {
dup length array copy
/eap 0 def
exch {
dup type /integertype eq {
/eap exch def
} {
1 index
exch
eap exch
put
/eap eap 1 add def
} ifelse
} forall
} bind def
/EncodeFont {
findfont dup
length dict
begin
{ 1 index /FID ne
{ def }
{ pop pop } ifelse
} forall
/FontName exch def
/Encoding exch def
FontName currentdict
end
definefont pop
} bind def
%%EndProcSet
%%BeginProcSet : clip2pathbbox
/clip2pathbbox {
/magicNum linewidth 2 div 1 2 sqrt div mul def
pathbbox
/urymn exch magicNum add def
/urxmn exch magicNum add def
/llymn exch magicNum sub def
/llxmn exch magicNum sub def
newpath llxmn llymn moveto llxmn urymn lineto urxmn urymn lineto urxmn llymn lineto
closepath clip newpath
} bind def
%%EndProcSet
%% Line takes the following arguments:
%% linewidth xEnd yEnd xStart yStart
%%BeginProcSet : Line
/Line {
MAV /LC get length 0 ne
{
gsave
newpath
MAV /ArrowType get length 0 eq
MAV /SD get length 0 eq and
{2 setlinecap /UseClip {clip2pathbbox} def }
{0 setlinecap /UseClip {} def } ifelse
0 792 translate
1 -1 scale
CTM currentmatrix pop
/yStart exch def /xStart exch def /yEnd exch def /xEnd exch def /linewidth exch def
MAV /ArrowType get length 0 eq xStart xEnd ne yStart yEnd ne and and
{xStart yStart moveto xEnd yEnd lineto UseClip xStart yStart moveto xEnd yEnd lineto}
{xStart yStart moveto xEnd yEnd lineto} ifelse
linewidth setlinewidth SD strokepath
CheckPath {LC PF ArrowType} if
grestore
}
{pop pop pop pop pop} ifelse
} bind def
/CompensateForStroke {
sin currentlinewidth mul
exch
cos currentlinewidth mul
dup 0 translate
4 -1 roll exch 2.0 mul sub
3 1 roll
2.0 mul sub
} bind def
/arrowdict 10 dict def
arrowdict begin
/SwallowTail {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
.666 0.0 lineto
1.0 .5 lineto
closepath
} bind def
/Triangular {
newpath
0.0 0.0 moveto
1.0 -.5 lineto
1.0 .5 lineto
closepath
} bind def
/OpenTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
} bind def
/ClosedTri {
newpath
1.0 0.5 moveto
0.0 0.0 lineto
1.0 -0.5 lineto
closepath
} bind def
/SlashBar {
newpath
0.5 -.5 moveto
-.5 0.5 lineto
} bind def
/Dot {
newpath
0.5 0.0 moveto
0 0 1 0 360 arc
closepath
} bind def
/ExtSlashBar {
newpath
1.0 -.5 moveto
0.0 0.5 lineto
} bind def
end
/ScaleArrowHead {
0 0 4 -2 roll
0 0 1 1
8 -4 roll GetBoxesRatio
scale
} bind def
/DrawArrowHead {
gsave
[] 0 setdash
currentpoint translate rotate
{
4 copy
gsave
initmatrix
100 200 translate
msave
ScaleArrowHead pop
arrowdict exch get exec
mrestore
strokepath
0 0 3 index 3 index
pathbbox 8 4 roll
GetBoxesRatio
4 2 roll
grestore
3 index 1.0 exch sub
6 -1 roll
{
2 index mul
0 translate
}{
pop
} ifelse
msave
ScaleArrowHead scale
arrowdict exch get exec
mrestore
strokepath
} {
msave
ScaleArrowHead
arrowdict exch get exec
mrestore
} ifelse
CheckPath {
LC PF
} if
grestore
} bind def
%%EndProcSet
%%BeginProcSet : SR
/SR {
pbox left get pbox top get moveto
pbox right get pbox top get lineto
pbox right get pbox bottom get lineto
pbox left get pbox bottom get lineto
closepath
} bind def
%%EndProcSet
%%BeginProcSet : E
/E {
1.415 setmiterlimit
CM currentmatrix pop
pbox right get pbox left get sub abs dup
pbox bottom get pbox top get sub abs dup 3 -1 roll
lt {exch dup 3 -1 roll exch div 1 exch}
{dup 3 -1 roll exch div 1} ifelse scale
0 0 3 -1 roll 2 div 0 360 arc closepath
CM setmatrix
} bind def
%%EndProcSet
%%BeginProcSet : A1
/A1 {msave
pbox right get pbox left get sub abs dup
pbox bottom get pbox top get sub abs dup 3 -1 roll
lt {exch dup 3 -1 roll exch div 1 exch}
{dup 3 -1 roll exch div 1} ifelse scale
0 0 3 -1 roll 2 div 5 -1 roll -90 add 5 -1 roll -90 add arcn
mrestore} bind def
%%EndProcSet
%%BeginProcSet : A2
/A2 {msave 0 0 moveto A1 closepath mrestore} def
%%EndProcSet
/StripFromFront {
dup length
2 index sub
3 1 roll
exch 3 -1 roll
getinterval
} bind def
/MakePathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{/k k 1 add def pop pop pop pop pop pop}{/k k 1 add def }pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{curveto} 7 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{closepath} 1 array astore 1 index k 3 -1 roll put /k k 1 add def}
pathforall
}bind def
/MakeFlatPathArray {
/k 0 def
{/k k 1 add def pop pop}{/k k 1 add def pop pop}{pop pop pop pop pop pop}{}pathforall
k array
/k 0 def
{{moveto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{{lineto} 3 array astore 1 index k 3 -1 roll put /k k 1 add def}
{ pop pop pop pop pop pop}
{}
pathforall
}bind def
/FractionalLine {
2 index sub
.00001 mul
exch
3 index sub
.00001 mul
4 -1 roll add
3 1 roll
add
} bind def
/calcLineLength {
exch
4 -1 roll
sub
dup mul
3 1 roll exch
sub
dup mul
add sqrt
} bind def
/InitTotalLineLength {
/oldY exch def
/oldX exch def
theDash aload pop currentLineLength add setdash
} bind def
/AccumeLineLength {
3 copy pop
2 copy
oldX oldY
4 2 roll calcLineLength
/segmentLength exch def
/currentLineLength currentLineLength segmentLength add def
/oldY exch def
/oldX exch def
} bind def
/DecumeLastLineLength {
/currentLineLength currentLineLength segmentLength sub def
} bind def
/DrawFlattendSegment {
/pointCount 2 def
dup 0 lt { pop 0 } if
fpc
3 1 roll
2 index
1 index
gt {
2 copy get
dup length
dup 3 eq {
pop
dup 0 get
exch 1 get
2 copy InitTotalLineLength
m
} {
} ifelse
} {
pop 1 index
} ifelse
dup 1 add
3 index
exch sub
dup 10 gt { pop 10} if
{
1 add
2 copy
get aload pop
AccumeLineLength
exec
} repeat
3 1 roll pop pop
DecumeLastLineLength
} bind def
/IncFPC {
fpc add
/fpc exch def
} bind def
/DrawFlatPathArray {
fpc
0 {
dup 2 index
1 sub
lt {
flatPathArray exch
newpath
1 sub DrawFlattendSegment
gsave
pathSegProc
grestore
newpath
}
{
pop pop
exit
} ifelse
} loop
} bind def
/RecordFirstSubSegment {
closepathArray 0 pathArray 0 get
put
closepathArray 1
pathArray 0 get aload pop pop
pathArray 1 get dup length 3 eq {
aload pop pop
} {
newpath
0 0 moveto
aload pop exec
/segmentArray flattenpath MakeFlatPathArray def
segmentArray 1 get aload pop pop
} ifelse
FractionalLine {lineto} 3 array astore
put
} bind def
/AppendClosePath {
closepathArray 0 get 2 {lineto} put
flatPathArray fpc closepathArray 0 get put
1 IncFPC
flatPathArray fpc closepathArray 1 get put
1 IncFPC
} bind def
/RecordCurrentDash {
/theDash
currentdash 2 array astore def
/currentLineLength 0 def
} bind def
/PatternStroke {
0 setlinecap
RecordCurrentDash
/saveFlat currentflat def
.5 setflat
/pathArray MakePathArray def
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -