⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1277.ps

📁 RFC 的详细文档!
💻 PS
📖 第 1 页 / 共 5 页
字号:

/f              % f                     -- fill the last path and restore currentpoint
  { fill
    SaveX SaveY moveto                  % restore the current point
  } def

/ellipse        % xc yc xrad yrad startAngle endAngle ellipse
    {
        /endangle exch def
        /startangle exch def
        /yrad exch def
        /xrad exch def
        /y exch def
        /x exch def

        /savematrix matrix currentmatrix def

        x y translate
        xrad yrad scale
        0 0 1 startangle endangle arc
        savematrix setmatrix
    } def

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%     the \special command junk
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   The structure of the PostScript produced by dvi2ps for \special is:
%         @beginspecial
%           - any number of @hsize, @hoffset, @hscale, etc., commands
%         @setspecial
%           - the users file of PostScript commands
%         @endspecial

% The @beginspecial command recognizes whether the Macintosh Laserprep
% has been loaded or not, and redfines some Mac commands if so.
%%% NOTE: This has been disabled as we don't use it !!
% The @setspecial handles the users shifting, scaling, clipping commands


% The following are user settable options from the \special command.

/@SpecialDefaults
  { /hs 8.5 Inch def
    /vs 11.68 Inch def
    /ho 0 def
    /vo 0 def
    /hsc 1 def
    /vsc 1 def
    /CLIP false def
  } def

%       d @hsize -      specify a horizontal clipping dimension
%                       these 2 are executed before the MacDraw initializations
/@hsize {/hs exch def /CLIP true def} def
/@vsize {/vs exch def /CLIP true def} def
%       d @hoffset -    specify a shift for the drwgs
/@hoffset {/ho exch def} def
/@voffset {/vo exch def} def
%       s @hscale -     set scale factor
/@hscale {/hsc exch def} def
/@vscale {/vsc exch def} def

/@setclipper
  { hsc vsc scale
    CLIP
      { newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip }
    if
  } def

% this will be invoked as the result of a \special command (for the
% inclusion of PostScript graphics).  The basic idea is to change all
% scaling and graphics back to defaults, but to shift the origin
% to the current position on the page.  Due to TeXnical difficulties,
% we only set the y-origin.  The x-origin is set at the left edge of
% the page.

/@beginspecial          % - @beginspecial -     -- enter special mode
  { gsave /SpecialSave save def
          % the following magic incantation establishes the current point as
          % the users origin, and reverts back to default scalings, rotations
    currentpoint transform initgraphics itransform translate
    @SpecialDefaults    % setup default offsets, scales, sizes
%%%    @MacSetUp           % fix up Mac stuff  -- DISABLED
  /showpage {} def %%% Ignore showpage commands
  } def

/@setspecial    % to setup user specified offsets, scales, sizes (for clipping)
  {
    MacDrwgs
      {md begin /pxt ho def /pyt vo neg def end}
      {ho vo translate @setclipper}
    ifelse
  } def

/@endspecial            % - @endspecial -       -- leave special mode
  { SpecialSave restore
    grestore
  } def

%!
% All software, documentation, and related files in this distribution of
% psfig/tex are Copyright (c) 1987 Trevor J. Darrell
%
% Permission is granted for use and non-profit distribution of psfig/tex 
% providing that this notice be clearly maintained, but the right to
% distribute any portion of psfig/tex for profit or as part of any commercial
% product is specifically reserved for the author.
%
%
% psfigTeX PostScript Prolog
% $Header: tex.ps,v 1.13 87/12/14 00:57:00 van Exp $
%
/psf$TeXscale { 65536 div } def

/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap
currentlinejoin currentdash currentgray currentmiterlimit ] cvx def

%  x y bb-llx bb-lly bb-urx bb-ury startFig -
/startTexFig {
	/psf$SavedState save def
	userdict maxlength dict begin
	currentpoint transform

	DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
		setlinewidth setmatrix

	itransform moveto

	/psf$ury exch psf$TeXscale def
	/psf$urx exch psf$TeXscale def
	/psf$lly exch psf$TeXscale def
	/psf$llx exch psf$TeXscale def
	/psf$y exch psf$TeXscale def
	/psf$x exch psf$TeXscale def
	
	currentpoint /psf$cy exch def /psf$cx exch def

	/psf$sx psf$x psf$urx psf$llx sub div def 	% scaling for x
	/psf$sy psf$y psf$ury psf$lly sub div def	% scaling for y

	psf$sx psf$sy scale			% scale by (sx,sy)

	psf$cx psf$sx div psf$llx sub
	psf$cy psf$sy div psf$ury sub translate
	
	/DefFigCTM matrix currentmatrix def

	/initmatrix {
		DefFigCTM setmatrix
	} def
	/defaultmatrix {
		DefFigCTM exch copy
	} def

	/initgraphics {
		DocumentInitState setmiterlimit setgray setdash 
			setlinejoin setlinecap setlinewidth setmatrix
		DefFigCTM setmatrix
	} def

	/showpage {
		initgraphics
	} def
	@MacSetUp
} def

% llx lly urx ury doclip -	(args in figure coordinates)
/doclip {
	currentpoint 6 2 roll
	newpath 4 copy
	4 2 roll moveto
	6 -1 roll exch lineto
	exch lineto
	exch lineto
	closepath clip
	newpath
	moveto
} def

% - endTexFig -
/endTexFig { end psf$SavedState restore } def



%%%% Additions by LA Carr to reencode Adobe fonts as TeX fonts (almost)
%%%% Based on routine in LaserWriter Cookbook
/ReEncodeForTeX
  { /newfontname exch def
    /basefontname exch def
    /TeXstr 30 string def

    /basefontdict basefontname findfont def
    /newfont basefontdict maxlength dict def
    basefontdict
      { exch dup /FID ne
	  { dup /Encoding eq
	    { exch dup length array copy
	        newfont 3 1 roll put }
	    { exch newfont 3 1 roll put }
	    ifelse
	  }
	{ pop pop }
	ifelse
      } forall

%%    newfont /FontName newfontname put %%
      basefontname TeXstr cvs (Dingbat) search
	{ pop pop pop }
        { pop
	  /TeXvec basefontname TeXstr cvs (Courier) search
	    { pop pop pop TeXcourvec }
	    { pop TeXnormalvec }
	  ifelse def
          TeXvec aload pop

          TeXvec length 2 idiv
	    { newfont /Encoding get 3 1 roll put }
	  repeat
	}
      ifelse

      newfontname newfont definefont pop
  } def

/TeXnormalvec
	[ 8#014 /fi 8#015 /fl 8#020 /dotlessi 8#022 /grave 8#023 /acute
	  8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring 8#030 /cedilla
	  8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash 8#035 /AE
	  8#036 /OE 8#037 /Oslash 8#042 /quotedblright 8#074 /exclamdown
	  8#076 /questiondown 8#134 /quotedblleft 8#136 /circumflex
	  8#137 /dotaccent 8#173 /endash 8#174 /emdash 8#175 /quotedbl
	  8#177 /dieresis ] def
/TeXcourvec
	[ 8#016 /exclamdown 8#017 /questiondown 8#020 /dotlessi 8#022 /grave
	  8#023 /acute 8#024 /caron 8#025 /breve 8#026 /macron 8#027 /ring
	  8#030 /cedilla 8#031 /germandbls 8#032 /ae 8#033 /oe 8#034 /oslash
	  8#035 /AE 8#036 /OE 8#037 /Oslash 8#074 /less 8#076 /greater
	  8#134 /backslash 8#136 /circumflex 8#137 /underscore 8#173 /braceleft
	  8#174 /bar 8#175 /braceright 8#177 /dieresis ] def

/TeXPSmakefont {	% defines a routine for generating PS fonts, fudged!
	/TeXsize exch def
	findfont 
	[ TeXsize 0 0 TeXsize neg 0 0 ] makefont
	} def

%Create a General Oblique font
/ObliqueFont {
    /ObliqueAngle exch def
    /ObliqueBaseName exch def
    /ObliqueFontName exch def
    /ObliqueTransform [1 0 ObliqueAngle sin ObliqueAngle cos div 1 0 0] def
    /basefontdict ObliqueBaseName findfont ObliqueTransform makefont def
    /newfont basefontdict maxlength dict def
    basefontdict
      { exch dup /FID ne
	  { dup /Encoding eq
	    { exch dup length array copy
	        newfont 3 1 roll put }
	    { exch newfont 3 1 roll put }
	    ifelse
	  }
	{ pop pop }
	ifelse
      } forall

     newfont /FontName ObliqueFontName put
     ObliqueFontName newfont definefont
     pop
     } def

/Times-Oblique /Times-Roman 15.5 ObliqueFont
/Times-BoldOblique /Times-Bold 15 ObliqueFont
%/Palatino-Oblique /Palatino-Roman 10 ObliqueFont
%/Palatino-BoldOblique /Palatino-Bold 10 ObliqueFont
/Times-ItalicUnslanted /Times-Italic -15.15 ObliqueFont

%Create a Palatino-ItalicUnslanted font? You must be joking!

%Create a General SmallCaps font
/SmallCapsFont {
    /SmallCapsBaseName exch def
    /SmallCapsFontName exch def
    /basefontdict SmallCapsBaseName findfont def
    /newfont basefontdict maxlength dict def
    basefontdict
      { exch dup /FID ne
	  { dup /Encoding eq
	    { exch dup length array copy
	        newfont 3 1 roll put }
	    { exch newfont 3 1 roll put }
	    ifelse
	  }
	{ pop pop }
	ifelse
      } forall

     newfont /FontName SmallCapsFontName put
     SmallCapsFontName newfont definefont
     pop
     } def

/Times-SmallCaps /Times-Roman SmallCapsFont
%/Palatino-SmallCaps /Palatino-Roman SmallCapsFont

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -