📄 cycle.ps
字号:
% the standard PostScript environment provided for processing user-supplied% PostScript code.%% Parameters: 0 - Local% 1 - Global% 2 - Inline%/SPE { /spc_mode xdef 1000.0 Magnification div dup scale % Un-adjust for any magnification... 72.0 Resolution div dup scale % Restore default internal scaling... spc_mode 0 eq spc_mode 2 eq or {RP} {spc_mode 1 eq {LocalMode} if} ifelse} bdef %% <num-copies> PP%/PP { /#copies xdef showpage /#copies 1 def} bdef %% /font-name <point-size(pix)> DMF%/DMF { /psz xdef /nam xdef nam findfont psz scalefont setfont} bdef %% /abcd (xxx) str-concat ==> /abcdxxx%/str-concatstr 64 string def/str-concat { /xxx xdef /nam xdef /namstr nam str-concatstr cvs def /newnam namstr length xxx length add string def newnam 0 namstr putinterval newnam namstr length xxx putinterval newnam cvn } bdef %% /abcdef 2 str-strip ==> /cdef%/str-strip { /num xdef /nam xdef /namstr nam tempstr cvs def /newlen namstr length num sub def namstr num newlen getinterval cvn} bdef %% <old-dict> copydict ==> new-dict on stack%/copydict { dup length 1 add dict /newdict xdef {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse } forall newdict} bdef %% <font-type> DefineCMEncoding%/DefineCMEncoding { /EncodeType xdef /CMEncoding 256 array def /Times-Roman findfont /Encoding get aload pop CMEncoding astore pop EncodeType 11 eq {Do-CM-rm-encoding} if EncodeType 12 eq {Do-CM-it-encoding} if EncodeType 13 eq {Do-CM-tt-encoding} if} bdef %% Do special mappings for the various CM-font types. Characters that% get "covered up" are repositioned in the range (128,128+32). The % range (256-64,255) is filled with the standard ISO Latin/1 mappings.%/Do-standard-CM-encodings { CMEncoding dup 0 /.notdef put dup 1 /.notdef put dup 2 /.notdef put dup 3 /.notdef put dup 4 /.notdef put dup 5 /.notdef put dup 6 /.notdef put dup 7 /.notdef put dup 8 /.notdef put dup 9 /.notdef put dup 10 /.notdef put dup 11 /.notdef put dup 12 /fi put dup 13 /fl put dup 14 /.notdef put dup 15 /.notdef put dup 16 /dotlessi put dup 17 /ogonek put dup 18 /grave put dup 19 /acute put dup 20 /caron put dup 21 /breve put dup 22 /macron put dup 23 /ring put dup 24 /cedilla put dup 25 /germandbls put dup 26 /ae put dup 27 /oe put dup 28 /oslash put dup 29 /AE put dup 30 /OE put dup 31 /Oslash put dup 127 /dieresis put dup 128 /space put dup 129 /quotedbl put dup 130 /sterling put dup 131 /dollar put dup 132 /less put dup 133 /greater put dup 134 /backslash put dup 135 /asciicircum put dup 136 /underscore put dup 137 /braceleft put dup 138 /bar put dup 139 /braceright put dup 140 /asciitilde put dup 141 /brokenbar put dup 142 /copyright put dup 143 /logicalnot put dup 144 /registered put dup 145 /plusminus put dup 146 /twosuperior put dup 147 /threesuperior put dup 148 /mu put dup 149 /onesuperior put dup 150 /onequarter put dup 151 /onehalf put dup 152 /threequarters put dup 153 /Eth put dup 154 /multiply put dup 155 /Thorn put dup 156 /eth put dup 157 /divide put dup 158 /thorn put dup 159 /ordfeminine put dup 160 /ordmasculine put dup 176 /Lslash put dup 181 /lslash put pop Do-ISO-Latin1-Encoding } bdef% Fill the last 64 positions with ISOLatin1 composite character definitions./Do-ISO-Latin1-Encoding { CMEncoding dup 192 /Agrave put dup 193 /Aacute put dup 194 /Acircumflex put dup 195 /Atilde put dup 196 /Adieresis put dup 197 /Aring put dup 198 /AE put dup 199 /Ccedilla put dup 200 /Egrave put dup 201 /Eacute put dup 202 /Ecircumflex put dup 203 /Edieresis put dup 204 /Igrave put dup 205 /Iacute put dup 206 /Icircumflex put dup 207 /Idieresis put dup 208 /Eth put dup 209 /Ntilde put dup 210 /Ograve put dup 211 /Oacute put dup 212 /Ocircumflex put dup 213 /Otilde put dup 214 /Odieresis put dup 215 /multiply put dup 216 /Oslash put dup 217 /Ugrave put dup 218 /Uacute put dup 219 /Ucircumflex put dup 220 /Udieresis put dup 221 /Yacute put dup 222 /Thorn put dup 223 /germandbls put dup 224 /agrave put dup 225 /aacute put dup 226 /acircumflex put dup 227 /atilde put dup 228 /adieresis put dup 229 /aring put dup 230 /ae put dup 231 /ccedilla put dup 232 /egrave put dup 233 /eacute put dup 234 /ecircumflex put dup 235 /edieresis put dup 236 /igrave put dup 237 /iacute put dup 238 /icircumflex put dup 239 /idieresis put dup 240 /eth put dup 241 /ntilde put dup 242 /ograve put dup 243 /oacute put dup 244 /ocircumflex put dup 245 /otilde put dup 246 /odieresis put dup 247 /divide put dup 248 /oslash put dup 249 /ugrave put dup 250 /uacute put dup 251 /ucircumflex put dup 252 /udieresis put dup 253 /yacute put dup 254 /thorn put dup 255 /ydieresis put pop} bdef /Do-CM-rm-encoding { Do-standard-CM-encodings CMEncoding dup 32 /.notdef put dup 34 /quotedblright put dup 60 /exclamdown put dup 62 /questiondown put dup 92 /quotedblleft put dup 94 /circumflex put dup 95 /dotaccent put dup 123 /endash put dup 124 /emdash put dup 125 /hungarumlaut put dup 126 /tilde put pop} bdef /Do-CM-it-encoding { Do-standard-CM-encodings CMEncoding dup 32 /.notdef put dup 34 /quotedblright put dup 36 /sterling put dup 60 /exclamdown put dup 62 /questiondown put dup 92 /quotedblleft put dup 94 /circumflex put dup 95 /dotaccent put dup 123 /endash put dup 124 /emdash put dup 125 /hungarumlaut put dup 126 /tilde put pop} bdef /Do-CM-tt-encoding { Do-standard-CM-encodings CMEncoding dup 12 /.notdef put dup 13 /quotesingle put dup 14 /exclamdown put dup 15 /questiondown put dup 94 /circumflex put dup 126 /tilde put pop} bdef%% Routines to handle packing/unpacking numbers.%% <target> <pos> <num> PackHW --> <new target>%/PackHW { /num xdef /pos xdef /target xdef num 16#0000FFFF and 1 pos sub 16 mul bitshift target or} bdef%% <target> <pos> <num> PackByte --> <new target>%/PackByte { /num xdef /pos xdef /target xdef num 16#000000FF and 3 pos sub 8 mul bitshift target or} bdef%% <pos> <num> UnpkHW --> <unpacked value>%/UnpkHW { /num xdef /pos xdef num 1 pos sub -16 mul bitshift 16#0000FFFF and dup 16#00007FFF gt {16#00010000 sub} if} bdef%% <pos> <num> UnpkByte --> <unpacked value>%/UnpkByte { /num xdef /pos xdef num 3 pos sub -8 mul bitshift 16#000000FF and dup 16#0000007F gt {16#00000100 sub} if} bdef%% <int-font-name> <ext-font-name> <pt-sz(pix)> <type> <loaded-fg> DefineCMFont%% type 10: "as-is" PostScript font% type 11: CM-mapped PostScript font - roman% type 12: CM-mapped PostScript font - text italic % type 13: CM-mapped PostScript font - typewriter type %/int-dict-name {int (-dict) str-concat} bdef/int-dict {int (-dict) str-concat cvx load} bdef/DF { true % signal that the font is already loaded DefineCMFont} bdef /DNF { false % signal that the font is not already loaded DefineCMFont} bdef/DefineCMFont { /loaded xdef /typ xdef /psz xdef /ext xdef /int xdef typ 10 ne { % font_type = 11, 12, 13 loaded not { /fnam ext 3 str-strip def fnam findfont copydict /newdict xdef typ DefineCMEncoding newdict /Encoding CMEncoding put ext newdict definefont pop } if int-dict-name ext findfont psz scalefont def currentdict int [int-dict /setfont cvx] cvx put } { % font_type = 10 /fnam ext def int-dict-name fnam findfont psz scalefont def currentdict int [int-dict /setfont cvx] cvx put } ifelse} bdef %% <int-font-name> <ext-font-name> <pt-sz(pix)> <PXL mag> <num-chars>% [llx lly urx ury] <newfont-fg> DefinePXLFont%/PXLF { true % signal that the font is already loaded DefinePXLFont} bdef /PXLNF { false % signal that the font is not already loaded DefinePXLFont} bdef/PXLBuildCharDict 17 dict def /CMEncodingArray 256 array def0 1 255 {CMEncodingArray exch dup tempstr cvs cvn put} for/RasterConvert {RasterScaleFactor div} bdef /TransformBBox { aload pop /BB-ury xdef /BB-urx xdef /BB-lly xdef /BB-llx xdef [BB-llx RasterConvert BB-lly RasterConvert BB-urx RasterConvert BB-ury RasterConvert]} bdef/DefinePXLFont { /newfont xdef /bb xdef /num xdef /psz xdef /dsz xdef /pxlmag xdef /ext xdef /int xdef /fnam ext (-) str-concat pxlmag tempstr cvs str-concat def newfont not { int-dict-name 13 dict def int-dict begin /FontType 3 def /FontMatrix [1 dsz div 0 0 1 dsz div 0 0] def
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -