ebnf-eps-prologue

ebnf-eps-prologue is a variable defined in `ebnf2ps.el'.
Its value is

"\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"

  • This variable may be risky if used as a file-local variable.

Documentation:
EBNF EPS prologue