📄 bmemops.eps
字号:
/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
%% Line takes the following arguments:
%% linewidth xEnd yEnd xStart yStart
%%BeginProcSet : ZeroLine
/ZeroLine {
gsave
newpath
MAV /ArrowType get length 0 ne {
/UseClip {} def
0 792 translate
1 -1 scale
pop pop pop pop pop
CTM currentmatrix pop
ArrowType
} if
grestore
} 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 : RR1
/RR1 {
pbox top get pbox bottom get sub abs
pbox left get pbox right get sub abs
2 copy lt {
Min
2 div dup dup dup
pbox left get add pbox left 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox left get pbox bottom get moveto
pbox right get 0 3 -1 roll 90 -90 arcn
pbox left get 0 3 -1 roll -90 90 arcn closepath
} {
Min
2 div dup dup dup
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox top get add pbox top 3 -1 roll put
pbox left get pbox bottom get moveto
pbox left get add pbox top get
2 index
180 0 arc
dup pbox left get add pbox bottom get
3 -1 roll 0 180 arc
closepath
} ifelse
} bind def
%%EndProcSet
%%BeginProcSet : RR2
/RR2 {
dup dup dup dup dup dup dup dup
pbox top get add pbox top 3 -1 roll put
pbox left get add pbox left 3 -1 roll put
pbox bottom get exch sub pbox bottom 3 -1 roll put
pbox right get exch sub pbox right 3 -1 roll put
pbox bottom get add pbox left get exch moveto
pbox right get pbox bottom get 3 -1 roll 90 0 arcn
pbox right get pbox top get 3 -1 roll 0 270 arcn
pbox left get pbox top get 3 -1 roll 270 180 arcn
pbox left get pbox bottom get 3 -1 roll 180 90 arcn 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
%%BeginProcSet : BitMap
/BitMap {
/buffer ^1 string def
^2 ^5 2 div add 792 ^3 sub ^6 2 div add translate
^4 57.3 mul rotate
0 ^5 2 div sub 0 ^6 2 div sub translate
^5 ^6 scale
^5 ^6 ^7 [^5 0 0 -^6 0 ^6] {currentfile buffer readhexstring pop} image
}bind def
%%EndProcSet
%%BeginProcSet : note
/note {
gsave pbox astore pop
0 792 translate 1 -1 scale CTM currentmatrix pop exch translate
pbox right get pbox left get sub 2 div
pbox bottom get pbox top get sub 2 div
translate 57.3 mul rotate setlinewidth
noteBody aload pop moveto
noteBody length 2 div 1 sub cvi{lineto}repeat
dogEar aload pop moveto
dogEar length 2 div 1 sub cvi{lineto}repeat
0.992 0.975 0.507 setrgbcolor gsave fill grestore
gsave newpath
stickem aload pop moveto
stickem length 2 div 1 sub cvi{lineto}repeat
0.760 0.760 0.760 setrgbcolor fill
grestore
0 0 0 setrgbcolor stroke
noteShadow aload pop moveto
noteShadow length 2 div 1 sub cvi{lineto}repeat
dogEarShadow aload pop moveto
dogEarShadow length 2 div 1 sub cvi{lineto}repeat
0 0 0 setrgbcolor gsave stroke grestore fill
grestore
}bind def
%%EndProcSet
%%BeginProcSet : RGB4toGray4
/redTbl4 [0 0 1 1 1 1 2 2 3 3 3 4 4 4 5 5] def
/greenTbl4 [0 1 1 2 2 3 3 4 4 5 6 6 7 7 7 8] def
/blueTbl4 [0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2] def
/RGB4toGray4 {
currentfile RGBBuf readhexstring pop pop
/i 0 def
/j 0 def
grayBuf length {
RGBBuf i get dup
-4 bitshift redTbl4 exch get
exch 15 and greenTbl4 exch get add
RGBBuf i 1 add get dup
-4 bitshift blueTbl4 exch get 3 -1 roll add 4 bitshift
exch 15 and redTbl4 exch get
RGBBuf i 2 add get dup
-4 bitshift greenTbl4 exch get 3 -1 roll add
exch 15 and blueTbl4 exch get add or
grayBuf j 3 -1 roll put
/i i 3 add def
/j j 1 add def
} repeat
grayBuf
} bind def
%%EndProcSet
%%BeginProcSet : RGB8toGray8
/RGB8toGray8 {
currentfile RGBBuf readhexstring pop pop
/i 0 def
/j 0 def
grayBuf length {
RGBBuf i get 0.33 mul
RGBBuf i 1 add get 0.55 mul add
RGBBuf i 2 add get 0.12 mul add round cvi
grayBuf j 3 -1 roll put
/i i 3 add def
/j j 1 add def
} repeat
grayBuf
} bind def
%%EndProcSet
%%BeginProcSet : RGB24toGray8
/RGB24toGray8 {RGB8toGray8} bind def
%%EndProcSet
%%BeginProcSet : RGB2toGray2
/redTbl2 [0 0 1 1] def
/greenTbl2 [0 1 1 2] def
/blueTbl2 [0 0 0 0] def
/RGB2toGray2 {
currentfile RGBBuf readhexstring pop pop
/i 0 def
/j 0 def
grayBuf length {
RGBBuf i get dup dup dup
-6 bitshift redTbl2 exch get
exch -4 bitshift 3 and
greenTbl2 exch get add
exch -2 bitshift 3 and
blueTbl2 exch get add
6 bitshift exch 3 and
redTbl2 exch get
RGBBuf i 1 add get dup dup dup
-6 bitshift greenTbl2 exch get
exch -4 bitshift 3 and
blueTbl2 exch get add
4 -1 roll add
4 bitshift 4 -1 roll or
3 1 roll -2 bitshift 3 and
redTbl2 exch get exch 3 and
greenTbl2 exch get add
RGBBuf i 2 add get dup dup dup
-6 bitshift blueTbl2 exch get
5 -1 roll add
2 bitshift 5 -1 roll or
4 1 roll -4 bitshift 3 and
redTbl2 exch get
exch -2 bitshift 3 and
greenTbl2 exch get add
exch 3 and
greenTbl2 exch get add or
grayBuf j 3 -1 roll put
/i i 3 add def
/j j 1 add def
} repeat
grayBuf
} bind def
%%EndProcSet
%%EndProcSet
%%BeginProcSet : RGB1toGray1
/RGB1toGray1 {
currentfile RGBBuf readhexstring pop pop
/i 0 def
/j 0 def
grayBuf length {
RGBBuf i get dup dup
1 bitshift 128 and exch
3 bitshift 64 and or exch
5 bitshift 32 and or
RGBBuf i 1 add get dup
-1 bitshift 16 and exch
1 bitshift 8 and or or
RGBBuf i 2 add get dup dup
-5 bitshift 4 and exch
-3 bitshift 2 and or exch
-1 bitshift 1 and or or
/i i 3 add def
/j j 1 add def
} repeat
grayBuf
} bind def
%%EndProcSet
%%BeginProcSet : RGB16toGray8
/RGB16toGray8 {RGB8toGray8} bind def
%%EndProcSet
%%BeginProcSet : BW
/ScalePoint {
0 0
4 -2 roll
0 0 1 1
8 4 roll GetBoxesRatio scale
} bind def
/PointDict 4 dict def
PointDict begin
/XPoint {
-.5 .5 moveto
.5 -.5 lineto
.5 .5 moveto
-.5 -.5 lineto
} bind def
/DiamondPoint {
0.0 .5 moveto
.5 0.0 lineto
0.0 -0.5 lineto
-.5 0.0 lineto
closepath
} bind def
/PlusPoint {
0.0 .5 moveto
0.0 -.5 lineto
-.5 0.0 moveto
.5 0.0 lineto
} bind def
/SquarePoint {
-.5 .5 moveto
.5 .5 lineto
.5 -.5 lineto
-.5 -.5 lineto
closepath
} bind def
end
/DrawPoint {
gsave
[] 0 setdash
0 setlinecap
translate
msave
ScalePoint
PointDict exch get exec
mrestore
1.0 setlinewidth stroke
grestore
} bind def
%%EndProcSet
%%BeginProcSet : Wall object Procs
%%EndProcSet
%%BeginProcSet : Subscriber
/Subscriber {
msave
R PC PF LC SS newpath
mrestore
} bind 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -