Variable: ebnf-eps-prologue

ebnf-eps-prologue is a variable defined in ebnf2ps.el.gz.

Value

"\n/#ebnf2ps#dict 230 dict def\n#ebnf2ps#dict begin\n\n% Initialize variables to avoid name-conflicting with document variables.\n% This is the case when using `bind' operator.\n/-fillp-		0 def		/h		0 def\n/-ox-			0 def		/half		0 def\n/-oy-			0 def		/height		0 def\n/-save-			0 def		/ow		0 def\n/Ascent			0 def		/quarter	0 def\n/Descent		0 def		/rXX		0 def\n/Effect			0 def		/rYY		0 def\n/FontHeight		0 def		/rwidth		0 def\n/LineThickness		0 def		/rxx		0 def\n/OverlinePosition	0 def		/ryy		0 def\n/SpaceBackground	0 def		/shadow		0 def\n/StrikeoutPosition	0 def		/shape		0 def\n/UnderlinePosition	0 def		/shapecolor	0 def\n/XBox			0 def		/space		0 def\n/XX			0 def		/st		1 string def\n/Xshadow		0 def		/w		0 def\n/YBox			0 def		/width		0 def\n/YY			0 def		/xi		0 def\n/Yshadow		0 def		/xo		0 def\n/arrow			0 def		/xp		0 def\n/bg			false def	/xt		0 def\n/bgcolor		0 def		/xw		0 def\n/bordercolor		0 def		/xx		0 def\n/borderwidth		0 def		/yi		0 def\n/dd			0 def		/yo		0 def\n/entry			0 def		/yp		0 def\n/foreground		0 def		/yt		0 def\n					/yy		0 def\n\n\n% ISOLatin1Encoding stolen from ps_init.ps in GhostScript 2.6.1.4:\n/ISOLatin1Encoding where\n{pop}\n{% -- The ISO Latin-1 encoding vector isn't known, so define it.\n % -- The first half is the same as the standard encoding,\n % -- except for minus instead of hyphen at code 055.\n /ISOLatin1Encoding\n  StandardEncoding 0  45 getinterval aload pop\n  /minus\n  StandardEncoding 46 82 getinterval aload pop\n %*** NOTE: the following are missing in the Adobe documentation,\n %*** but appear in the displayed table:\n %*** macron at 0225, dieresis at 0230, cedilla at 0233, space at 0240.\n % 0200 (128)\n  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef\n  /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent\n  /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron\n % 0240 (160)\n  /space /exclamdown /cent /sterling\n	/currency /yen /brokenbar /section\n  /dieresis /copyright /ordfeminine /guillemotleft\n	/logicalnot /hyphen /registered /macron\n  /degree /plusminus /twosuperior /threesuperior\n	/acute /mu /paragraph /periodcentered\n  /cedilla /onesuperior /ordmasculine /guillemotright\n	/onequarter /onehalf /threequarters /questiondown\n % 0300 (192)\n  /Agrave /Aacute /Acircumflex /Atilde\n	/Adieresis /Aring /AE /Ccedilla\n  /Egrave /Eacute /Ecircumflex /Edieresis\n	/Igrave /Iacute /Icircumflex /Idieresis\n  /Eth /Ntilde /Ograve /Oacute\n	/Ocircumflex /Otilde /Odieresis /multiply\n  /Oslash /Ugrave /Uacute /Ucircumflex\n	/Udieresis /Yacute /Thorn /germandbls\n % 0340 (224)\n  /agrave /aacute /acircumflex /atilde\n	/adieresis /aring /ae /ccedilla\n  /egrave /eacute /ecircumflex /edieresis\n	/igrave /iacute /icircumflex /idieresis\n  /eth /ntilde /ograve /oacute\n	/ocircumflex /otilde /odieresis /divide\n  /oslash /ugrave /uacute /ucircumflex\n	/udieresis /yacute /thorn /ydieresis\n 256 packedarray def\n}ifelse\n\n/reencodeFontISO	%def\n{dup\n length 12 add dict	% Make a new font (a new dict the same size\n			% as the old one) with room for our new symbols.\n\n begin			% Make the new font the current dictionary.\n  {1 index /FID ne\n   {def}{pop pop}ifelse\n  }forall		% Copy each of the symbols from the old dictionary\n			% to the new one except for the font ID.\n\n  currentdict /FontType get 0 ne\n  {/Encoding ISOLatin1Encoding def}if	% Override the encoding with\n					% the ISOLatin1 encoding.\n\n  % Use the font's bounding box to determine the ascent, descent,\n  % and overall height; don't forget that these values have to be\n  % transformed using the font's matrix.\n\n  %          ^    (x2 y2)\n  %          |       |\n  %          |       v\n  %          |  +----+ - -\n  %          |  |    |   ^\n  %          |  |    |   | Ascent (usually > 0)\n  %          |  |    |   |\n  % (0 0) -> +--+----+-------->\n  %             |    |   |\n  %             |    |   v Descent (usually < 0)\n  % (x1 y1) --> +----+ - -\n\n  currentdict /FontType get 0 ne\n  {/FontBBox load aload pop		% -- x1 y1 x2 y2\n   FontMatrix transform /Ascent  exch def pop\n   FontMatrix transform /Descent exch def pop}\n  {/PrimaryFont FDepVector 0 get def\n   PrimaryFont /FontBBox get aload pop\n   PrimaryFont /FontMatrix get transform /Ascent exch def pop\n   PrimaryFont /FontMatrix get transform /Descent exch def pop\n  }ifelse\n\n  /FontHeight Ascent Descent sub def	% use `sub' because descent < 0\n\n  % Define these in case they're not in the FontInfo\n  % (also, here they're easier to get to).\n  /UnderlinePosition  Descent 0.70 mul def\n  /OverlinePosition   Descent UnderlinePosition sub Ascent add def\n  /StrikeoutPosition  Ascent 0.30 mul def\n  /LineThickness      FontHeight 0.05 mul def\n  /Xshadow            FontHeight  0.08 mul def\n  /Yshadow            FontHeight -0.09 mul def\n  /SpaceBackground    Descent neg UnderlinePosition add def\n  /XBox               Descent neg def\n  /YBox               LineThickness 0.7 mul def\n\n  currentdict	% Leave the new font on the stack\n end		% Stop using the font as the current dictionary\n definefont	% Put the font into the font dictionary\n pop		% Discard the returned font\n}bind def\n\n% Font definition\n/DefFont{findfont exch scalefont reencodeFontISO}def\n\n% Font selection\n/F\n{findfont\n dup /Ascent            get /Ascent            exch def\n dup /Descent           get /Descent           exch def\n dup /FontHeight        get /FontHeight        exch def\n dup /UnderlinePosition get /UnderlinePosition exch def\n dup /OverlinePosition  get /OverlinePosition  exch def\n dup /StrikeoutPosition get /StrikeoutPosition exch def\n dup /LineThickness     get /LineThickness     exch def\n dup /Xshadow           get /Xshadow           exch def\n dup /Yshadow           get /Yshadow           exch def\n dup /SpaceBackground   get /SpaceBackground   exch def\n dup /XBox              get /XBox              exch def\n dup /YBox              get /YBox              exch def\n setfont\n}def\n\n/BG\n{dup /bg exch def\n {mark 4 1 roll ]}\n {[ 1.0 1.0 1.0 ]}\n ifelse\n /bgcolor exch def\n}def\n\n% stack:  --\n/FillBgColor{bgcolor aload pop setrgbcolor fill}bind def\n\n% stack:  fill-or-not lower-x lower-y upper-x upper-y  |-  --\n/doRect\n{/rYY exch def\n /rXX exch def\n /ryy exch def\n /rxx exch def\n gsave\n newpath\n rXX rYY moveto\n rxx rYY lineto\n rxx ryy lineto\n rXX ryy lineto\n closepath\n % top of stack: fill-or-not\n {FillBgColor}\n {LineThickness setlinewidth stroke}\n ifelse\n grestore\n}bind def\n\n% stack:  string fill-or-not  |-  --\n/doOutline\n{/-fillp- exch def\n /-ox- currentpoint /-oy- exch def def\n gsave\n LineThickness setlinewidth\n {st 0 3 -1 roll put\n  st dup true charpath\n  -fillp- {gsave FillBgColor grestore}if\n  stroke stringwidth\n  -oy- add /-oy- exch def\n  -ox- add /-ox- exch def\n  -ox- -oy- moveto\n }forall\n grestore\n -ox- -oy- moveto\n}bind def\n\n% stack:  fill-or-not delta  |-  --\n/doBox\n{/dd exch def\n xx XBox sub dd sub yy YBox sub dd sub\n XX XBox add dd add YY YBox add dd add\n doRect\n}bind def\n\n% stack:  string  |-  --\n/doShadow\n{gsave\n Xshadow Yshadow rmoveto\n false doOutline\n grestore\n}bind def\n\n% stack:  position  |-  --\n/Hline\n{currentpoint exch pop add dup\n gsave\n newpath\n xx exch moveto\n XX exch lineto\n closepath\n LineThickness setlinewidth stroke\n grestore\n}bind def\n\n% stack:  string  |-  --\n% effect: 1  - underline  2   - strikeout  4  - overline\n%         8  - shadow     16  - box        32 - outline\n/S\n{/xx currentpoint dup Descent add /yy exch def\n Ascent add /YY exch def def\n dup stringwidth pop xx add /XX exch def\n Effect 8 and 0 ne\n {/yy yy Yshadow add def\n  /XX XX Xshadow add def\n }if\n bg\n {true\n  Effect 16 and 0 ne\n  {SpaceBackground doBox}\n  {xx yy XX YY doRect}\n  ifelse\n }if						% background\n Effect 16 and 0 ne{false 0 doBox}if		% box\n Effect 8  and 0 ne{dup doShadow}if		% shadow\n Effect 32 and 0 ne\n {true doOutline}				% outline\n {show}						% normal text\n ifelse\n Effect 1  and 0 ne{UnderlinePosition Hline}if	% underline\n Effect 2  and 0 ne{StrikeoutPosition Hline}if	% strikeout\n Effect 4  and 0 ne{OverlinePosition  Hline}if	% overline\n}bind def\n\n"

Documentation

EBNF EPS prologue.

Source Code

;; Defined in /usr/src/emacs/lisp/progmodes/ebnf2ps.el.gz
(defconst ebnf-eps-prologue
  "
/#ebnf2ps#dict 230 dict def
#ebnf2ps#dict begin

% Initialize variables to avoid name-conflicting with document variables.
% This is the case when using `bind' operator.
/-fillp-		0 def		/h		0 def
/-ox-			0 def		/half		0 def
/-oy-			0 def		/height		0 def
/-save-			0 def		/ow		0 def
/Ascent			0 def		/quarter	0 def
/Descent		0 def		/rXX		0 def
/Effect			0 def		/rYY		0 def
/FontHeight		0 def		/rwidth		0 def
/LineThickness		0 def		/rxx		0 def
/OverlinePosition	0 def		/ryy		0 def
/SpaceBackground	0 def		/shadow		0 def
/StrikeoutPosition	0 def		/shape		0 def
/UnderlinePosition	0 def		/shapecolor	0 def
/XBox			0 def		/space		0 def
/XX			0 def		/st		1 string def
/Xshadow		0 def		/w		0 def
/YBox			0 def		/width		0 def
/YY			0 def		/xi		0 def
/Yshadow		0 def		/xo		0 def
/arrow			0 def		/xp		0 def
/bg			false def	/xt		0 def
/bgcolor		0 def		/xw		0 def
/bordercolor		0 def		/xx		0 def
/borderwidth		0 def		/yi		0 def
/dd			0 def		/yo		0 def
/entry			0 def		/yp		0 def
/foreground		0 def		/yt		0 def
					/yy		0 def


% ISOLatin1Encoding stolen from ps_init.ps in GhostScript 2.6.1.4:
/ISOLatin1Encoding where
{pop}
{% -- The ISO Latin-1 encoding vector isn't known, so define it.
 % -- The first half is the same as the standard encoding,
 % -- except for minus instead of hyphen at code 055.
 /ISOLatin1Encoding
  StandardEncoding 0  45 getinterval aload pop
  /minus
  StandardEncoding 46 82 getinterval aload pop
 %*** NOTE: the following are missing in the Adobe documentation,
 %*** but appear in the displayed table:
 %*** macron at 0225, dieresis at 0230, cedilla at 0233, space at 0240.
 % 0200 (128)
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
  /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
  /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
 % 0240 (160)
  /space /exclamdown /cent /sterling
	/currency /yen /brokenbar /section
  /dieresis /copyright /ordfeminine /guillemotleft
	/logicalnot /hyphen /registered /macron
  /degree /plusminus /twosuperior /threesuperior
	/acute /mu /paragraph /periodcentered
  /cedilla /onesuperior /ordmasculine /guillemotright
	/onequarter /onehalf /threequarters /questiondown
 % 0300 (192)
  /Agrave /Aacute /Acircumflex /Atilde
	/Adieresis /Aring /AE /Ccedilla
  /Egrave /Eacute /Ecircumflex /Edieresis
	/Igrave /Iacute /Icircumflex /Idieresis
  /Eth /Ntilde /Ograve /Oacute
	/Ocircumflex /Otilde /Odieresis /multiply
  /Oslash /Ugrave /Uacute /Ucircumflex
	/Udieresis /Yacute /Thorn /germandbls
 % 0340 (224)
  /agrave /aacute /acircumflex /atilde
	/adieresis /aring /ae /ccedilla
  /egrave /eacute /ecircumflex /edieresis
	/igrave /iacute /icircumflex /idieresis
  /eth /ntilde /ograve /oacute
	/ocircumflex /otilde /odieresis /divide
  /oslash /ugrave /uacute /ucircumflex
	/udieresis /yacute /thorn /ydieresis
 256 packedarray def
}ifelse

/reencodeFontISO	%def
{dup
 length 12 add dict	% Make a new font (a new dict the same size
			% as the old one) with room for our new symbols.

 begin			% Make the new font the current dictionary.
  {1 index /FID ne
   {def}{pop pop}ifelse
  }forall		% Copy each of the symbols from the old dictionary
			% to the new one except for the font ID.

  currentdict /FontType get 0 ne
  {/Encoding ISOLatin1Encoding def}if	% Override the encoding with
					% the ISOLatin1 encoding.

  % Use the font's bounding box to determine the ascent, descent,
  % and overall height; don't forget that these values have to be
  % transformed using the font's matrix.

  %          ^    (x2 y2)
  %          |       |
  %          |       v
  %          |  +----+ - -
  %          |  |    |   ^
  %          |  |    |   | Ascent (usually > 0)
  %          |  |    |   |
  % (0 0) -> +--+----+-------->
  %             |    |   |
  %             |    |   v Descent (usually < 0)
  % (x1 y1) --> +----+ - -

  currentdict /FontType get 0 ne
  {/FontBBox load aload pop		% -- x1 y1 x2 y2
   FontMatrix transform /Ascent  exch def pop
   FontMatrix transform /Descent exch def pop}
  {/PrimaryFont FDepVector 0 get def
   PrimaryFont /FontBBox get aload pop
   PrimaryFont /FontMatrix get transform /Ascent exch def pop
   PrimaryFont /FontMatrix get transform /Descent exch def pop
  }ifelse

  /FontHeight Ascent Descent sub def	% use `sub' because descent < 0

  % Define these in case they're not in the FontInfo
  % (also, here they're easier to get to).
  /UnderlinePosition  Descent 0.70 mul def
  /OverlinePosition   Descent UnderlinePosition sub Ascent add def
  /StrikeoutPosition  Ascent 0.30 mul def
  /LineThickness      FontHeight 0.05 mul def
  /Xshadow            FontHeight  0.08 mul def
  /Yshadow            FontHeight -0.09 mul def
  /SpaceBackground    Descent neg UnderlinePosition add def
  /XBox               Descent neg def
  /YBox               LineThickness 0.7 mul def

  currentdict	% Leave the new font on the stack
 end		% Stop using the font as the current dictionary
 definefont	% Put the font into the font dictionary
 pop		% Discard the returned font
}bind def

% Font definition
/DefFont{findfont exch scalefont reencodeFontISO}def

% Font selection
/F
{findfont
 dup /Ascent            get /Ascent            exch def
 dup /Descent           get /Descent           exch def
 dup /FontHeight        get /FontHeight        exch def
 dup /UnderlinePosition get /UnderlinePosition exch def
 dup /OverlinePosition  get /OverlinePosition  exch def
 dup /StrikeoutPosition get /StrikeoutPosition exch def
 dup /LineThickness     get /LineThickness     exch def
 dup /Xshadow           get /Xshadow           exch def
 dup /Yshadow           get /Yshadow           exch def
 dup /SpaceBackground   get /SpaceBackground   exch def
 dup /XBox              get /XBox              exch def
 dup /YBox              get /YBox              exch def
 setfont
}def

/BG
{dup /bg exch def
 {mark 4 1 roll ]}
 {[ 1.0 1.0 1.0 ]}
 ifelse
 /bgcolor exch def
}def

% stack:  --
/FillBgColor{bgcolor aload pop setrgbcolor fill}bind def

% stack:  fill-or-not lower-x lower-y upper-x upper-y  |-  --
/doRect
{/rYY exch def
 /rXX exch def
 /ryy exch def
 /rxx exch def
 gsave
 newpath
 rXX rYY moveto
 rxx rYY lineto
 rxx ryy lineto
 rXX ryy lineto
 closepath
 % top of stack: fill-or-not
 {FillBgColor}
 {LineThickness setlinewidth stroke}
 ifelse
 grestore
}bind def

% stack:  string fill-or-not  |-  --
/doOutline
{/-fillp- exch def
 /-ox- currentpoint /-oy- exch def def
 gsave
 LineThickness setlinewidth
 {st 0 3 -1 roll put
  st dup true charpath
  -fillp- {gsave FillBgColor grestore}if
  stroke stringwidth
  -oy- add /-oy- exch def
  -ox- add /-ox- exch def
  -ox- -oy- moveto
 }forall
 grestore
 -ox- -oy- moveto
}bind def

% stack:  fill-or-not delta  |-  --
/doBox
{/dd exch def
 xx XBox sub dd sub yy YBox sub dd sub
 XX XBox add dd add YY YBox add dd add
 doRect
}bind def

% stack:  string  |-  --
/doShadow
{gsave
 Xshadow Yshadow rmoveto
 false doOutline
 grestore
}bind def

% stack:  position  |-  --
/Hline
{currentpoint exch pop add dup
 gsave
 newpath
 xx exch moveto
 XX exch lineto
 closepath
 LineThickness setlinewidth stroke
 grestore
}bind def

% stack:  string  |-  --
% effect: 1  - underline  2   - strikeout  4  - overline
%         8  - shadow     16  - box        32 - outline
/S
{/xx currentpoint dup Descent add /yy exch def
 Ascent add /YY exch def def
 dup stringwidth pop xx add /XX exch def
 Effect 8 and 0 ne
 {/yy yy Yshadow add def
  /XX XX Xshadow add def
 }if
 bg
 {true
  Effect 16 and 0 ne
  {SpaceBackground doBox}
  {xx yy XX YY doRect}
  ifelse
 }if						% background
 Effect 16 and 0 ne{false 0 doBox}if		% box
 Effect 8  and 0 ne{dup doShadow}if		% shadow
 Effect 32 and 0 ne
 {true doOutline}				% outline
 {show}						% normal text
 ifelse
 Effect 1  and 0 ne{UnderlinePosition Hline}if	% underline
 Effect 2  and 0 ne{StrikeoutPosition Hline}if	% strikeout
 Effect 4  and 0 ne{OverlinePosition  Hline}if	% overline
}bind def

"
  "EBNF EPS prologue.")