/*	##############################################################
	# @(#) udo2pdf.h
	# @(#)
	# @(#) Copyright (c) 2002 by Norbert Hanz
	# @(#) (norbert@familie-hanz.de)
	#
	# This program is free software; you can redistribute it and/or
	# modify it under the terms of the GNU General Public License
	# as published by the Free Software Foundation; either version 2
	# of the License, or (at your option) any later version.
	# 
	# This program is distributed in the hope that it will be useful,
	# but WITHOUT ANY WARRANTY; without even the implied warranty of
	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	# GNU General Public License for more details.
	# 
	# You should have received a copy of the GNU General Public License
	# along with this program; if not, write to the Free Software
	# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
	# 
	###############################################################*/

const char *UDO2PDF=
	"%% History:\n"
	"\n"
	"%% 27/04/1999\n"
	"%% Fehler bei den drei Verweisfunktionen beseitigt; der Link wurde nicht mit\n"
	"%% umgebrochen, wenn der auszugebende Text nicht mehr in die Zeile passte\n"
	"\n"
	"%% 28/04/1999\n"
	"%% Fehler bei der Enumerate-Umgebung\n"
	"%% Hinweis fuer NameDest\n"
	"\n"
	"%% 14/05/1999\n"
	"%% Ausgabe von Fussnoten\n"
	"%% Ausgabe von Kopf- und Fusszeilen\n"
	"%% Hinweis für die Description-Umgebung\n"
	"\n"
	"%% 17/05/1999\n"
	"%% Links zu anderen PDF-Dateien und Links innerhalb von PDF-Dateien koennen\n"
	"%% jetzt auch als Bild dargestellt werden\n"
	"%% Der EPS-Code des AboutUDO-Images ist jetzt Teil der Datei postscript.ui\n"
	"\n"
	"\n"
	"%% Zusaetzliche Funktionen fuer die Postscriptausgabe\n"
	"%% 17.05.1999 Norbert Karl Hanz\n"
	"%% Version 1.3\n"
	"\n"
	"\n"
	"%% Damit der pdfmark-Operator nur im Distiller interpretiert wird\n"
	"/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse\n"
	"/languagelevel where {pop languagelevel}{1} ifelse\n"
	"2 lt {\n"
	"    userdict (<<) cvn ([) cvn load put\n"
	"    userdict (>>) cvn (]) cvn load put\n"
	"} if\n"
	"\n"
	"% Default for 'How to open a document'\n"
	"  /Window false def\n"
	"  /Anordnung /SinglePage def\n"
	"  /Menubar false def\n"
	"  /Toolbar false def\n"
	"  /Seite 1 def\n"
	"  /Modus /UseNone def\n"
	"\n"
	"% Einige Definitionen zur Ausrichtung\n"
	"/Left 0 def\n"
	"/Center 1 def\n"
	"/Right 2 def\n"
	"/myAlign 0 def\n"
	"\n"
	"% Bild ist kein Link\n"
	"/Image false def\n"
	"\n"
	"/NImage 0 def     % Kein Link hinter dem Bild\n"
	"/WImage 1 def     % WebLink hinter dem Bild\n"
	"/FImage 2 def     % FileLink hinter dem Bild\n"
	"/LImage 3 def     % Link hinter dem Bild\n"
	"\n"
	"% Definition fuer Description-Umgebung\n"
	"/descript false def\n"
	"\n"
	"% Definitionen fuer die Kopfzeile\n"
	"/pagenumber 0 def\n"
	"/Seite (Seite    ) def\n"
	"\n"
	"% Definitionen fuer die Fussnoten\n"
	"/footnumbers 0 def\n"
	"/footlines 1 def\n"
	"/strlentest 0 def\n"
	"/footnotetext 10 array def\n"
	"/foot false def\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"% Die Grundfarbe fuer Text wird initalisiert\n"
	"\n"
	"/setBaseColor          % R G B setBaseColor -\n"
	"{\n"
	"  /bcb exch def\n"
	"  /bcg exch def\n"
	"  /bcr exch def\n"
	"\n"
	"  bcr bcg bcb setrgbcolor\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Wie wird die PDF-Datei geoeffnet\n"
	"%% Bookmarks oder Thumbnails\n"
	"%% Welche Seite wird geoeffnet\n"
	"\n"
	"/HowToOpen       % Modus Seite Toolbar Menubar Anordnung Window HowToOpen -\n"
	"{\n"
	"  /Window exch def\n"
	"  /Anordnung exch def\n"
	"  /Menubar exch def\n"
	"  /Toolbar exch def\n"
	"  /Seite exch def\n"
	"  /Modus exch def\n"
	"\n"
	"  [ /PageMode Modus /Page Seite\n"
	"  /DOCVIEW pdfmark\n"
	"\n"
	"  [{Catalog} << /ViewerPreferences << /HideToolbar Toolbar \n"
	"  /HideMenubar Menubar >> >>\n"
	"  /PUT pdfmark\n"
	"\n"
	"  [{Catalog} << /PageLayout Anordnung >>\n"
	"  /PUT pdfmark\n"
	"\n"
	"  [{Catalog} << /FitWindow Window >>\n"
	"  /PUT pdfmark\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Erzeugung von Bookmarks\n"
	"%% Als Ziel werden die benannten Ziele (Anker) benutzt\n"
	"%% Anzahl bezeichnet die Anzahl der Subnodes bzw. Susubnodes etc.\n"
	"%% Existieren keine Unterkapitel, bitte '0' uebergeben\n"
	"%% Ist die Zahl positiv, werden die Bookmarks aufgeklappt,\n"
	"%% ist sie negativ sind die Bookmarks zugeklappt\n"
	"%% Achtung: zuerst muessen alle Nodes, dann die Subnodes etc. definiert werden\n"
	"\n"
	"/Bookmarks     % Title Ziel Anzahl Bookmarks -\n"
	"{\n"
	"  /Anzahl exch def\n"
	"  /Ziel exch def\n"
	"  /Title exch def\n"
	"  [ /Dest Ziel\n"
	"    /Title Title\n"
	"    /Count Anzahl\n"
	"  /OUT pdfmark\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Erzeugung von Weblinks\n"
	"%% Die Farbwerte koennen zwischen 0 und 255 uebergeben werden\n"
	"\n"
	"/WebLink        % Text Adresse R G B WebLink -\n"
	"{\n"
	"  /B exch def\n"
	"  /G exch def\n"
	"  /R exch def\n"
	"  /Adresse exch def\n"
	"  /Text exch def\n"
	"\n"
	"  Image          % Ist der Link ein Bild?\n"
	"  {\n"
	"    /Tx Text 0 get def\n"
	"    /Ty Text 1 get def\n"
	"    /Tw Text 2 get def\n"
	"    /Th Text 3 get def\n"
	"    [ /Rect [Tx Ty Tw Th]\n"
	"      /Border [0 0 0]\n"
	"      /Action << /Subtype /URI /URI Adresse >>\n"
	"      /Subtype /Link\n"
	"    /ANN pdfmark\n"
	"  }\n"
	"  {             % Link ist kein Bild\n"
	"    Text stringwidth pop\n"
	"    /wx exch def\n"
	"\n"
	"    /localvar strlen wx add def\n"
	"    localvar linelen gt\n"
	"    {\n"
	"      newline\n"
	"    } if\n"
	"    localvar def\n"
	"\n"
	"    currentpoint\n"
	"    /y exch def\n"
	"    /x exch def\n"
	"    /y y fontsize add def\n"
	"    /x x wx add def\n"
	"    [ /Rect [currentpoint x y]\n"
	"      /Border [0 0 0]\n"
	"      /Action << /Subtype /URI /URI Adresse >>\n"
	"      /Subtype /Link\n"
	"    /ANN pdfmark\n"
	"    currentrgbcolor\n"
	"    R G B setrgbcolor\n"
	"    Uon Text udoshow Uoff\n"
	"    setrgbcolor\n"
	"  } ifelse\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Erzeugung von Links zu anderen PDF-Dateien\n"
	"%% Soll kein Anker uebergeben werden 'Null' eingeben\n"
	"%% Die Farbwerte koennen zwischen 0 und 255 uebergeben werden\n"
	"\n"
	"/FileLink        % Text Datei Anker R G B FileLink -\n"
	"{\n"
	"  /B exch def\n"
	"  /G exch def\n"
	"  /R exch def\n"
	"  /Anker exch def\n"
	"  /Datei exch def\n"
	"  /Text exch def\n"
	"\n"
	"  Image          % Ist der Link ein Bild?\n"
	"  {\n"
	"    /Tx Text 0 get def\n"
	"    /Ty Text 1 get def\n"
	"    /Tw Text 2 get def\n"
	"    /Th Text 3 get def\n"
	"    [ /Rect [Tx Ty Tw Th]\n"
	"      /Border [0 0 0]\n"
	"      /Dest Anker\n"
	"      /File Datei\n"
	"      /Action /GoToR\n"
	"      /Subtype /Link\n"
	"    /ANN pdfmark\n"
	"  }\n"
	"  {             % Link ist kein Bild\n"
	"    Text stringwidth pop\n"
	"    /wx exch def\n"
	"\n"
	"    /localvar strlen wx add def\n"
	"    localvar linelen gt\n"
	"    {\n"
	"      newline\n"
	"    } if\n"
	"%    localvar 0 def\n"
	"\n"
	"    currentpoint\n"
	"    /y exch def\n"
	"    /x exch def\n"
	"    /y y fontsize add def\n"
	"    /x x wx add def\n"
	"    [ /Rect [currentpoint x y]\n"
	"      /Border [0 0 0]\n"
	"      /Dest Anker\n"
	"      /File Datei\n"
	"      /Action /GoToR\n"
	"      /Subtype /Link\n"
	"    /ANN pdfmark\n"
	"    currentrgbcolor\n"
	"    R G B setrgbcolor\n"
	"    Uon Text udoshow Uoff\n"
	"    setrgbcolor\n"
	"  } ifelse\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Erzeugung von Links innerhalb einer PDF-Datei\n"
	"%% Die Farbwerte koennen zwischen 0 und 255 uebergeben werden\n"
	"%% Fuer die Erzeugung eines Inhaltsverzeichnisses am besten\n"
	"%% 0 0 0 (schwarz) uebergeben\n"
	"\n"
	"/Link        % Text Anker R G B Link -\n"
	"{\n"
	"  /B exch def\n"
	"  /G exch def\n"
	"  /R exch def\n"
	"  /Anker exch def\n"
	"  /Text exch def\n"
	"\n"
	"  Image          % Ist der Link ein Bild?\n"
	"  {\n"
	"    /Tx Text 0 get def\n"
	"    /Ty Text 1 get def\n"
	"    /Tw Text 2 get def\n"
	"    /Th Text 3 get def\n"
	"    [ /Rect [Tx Ty Tw Th]\n"
	"      /Border [0 0 0]\n"
	"      /Action /GoTo\n"
	"      /Dest Anker\n"
	"      /Subtype /Link\n"
	"    /ANN pdfmark\n"
	"  }\n"
	"  {             % Link ist kein Bild\n"
	"    Text stringwidth pop\n"
	"    /wx exch def\n"
	"\n"
	"    /localvar strlen wx add def\n"
	"    localvar linelen gt\n"
	"    {\n"
	"      newline\n"
	"    } if\n"
	"%    localvar 0 def\n"
	"\n"
	"    currentpoint\n"
	"    /y exch def\n"
	"    /x exch def\n"
	"    /y y fontsize add def\n"
	"    /x x wx add def\n"
	"    [ /Rect [currentpoint x y]\n"
	"      /Border [0 0 0]\n"
	"      /Action /GoTo\n"
	"      /Dest Anker\n"
	"      /Subtype /Link\n"
	"    /ANN pdfmark\n"
	"    currentrgbcolor\n"
	"    R G B setrgbcolor\n"
	"    Uon Text udoshow Uoff\n"
	"    setrgbcolor\n"
	"  } ifelse\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Erzeugung von Ankern\n"
	"\n"
	"/NameDest       % Name NameDest -\n"
	"{\n"
	"  /Name exch def\n"
	"  currentpoint\n"
	"  /y exch fontsize add def\n"
	"  /x exch def\n"
	"  [ /Dest Name\n"
	"    /View [ /XYZ null y null ]\n"
	"  /DEST pdfmark\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Erzeugung von Notizen\n"
	"%% Die Farbwerte koennen als 1 oder 0 uebergeben werden\n"
	"%% Es werden nur die Hauptfarben unterstuetzt\n"
	"%% Die Notiz wird nur als Icon angezeigt und kann\n"
	"%% auf Doppelclick geoeffnet werden\n"
	"\n"
	"/Comment        % Text Title R G B Comment -\n"
	"{\n"
	"  /B exch def\n"
	"  /G exch def\n"
	"  /R exch def\n"
	"  /Title exch def\n"
	"  /Text exch def\n"
	"  currentpoint\n"
	"  /y exch def\n"
	"  /x exch def\n"
	"  /wy y 150 sub def\n"
	"  /y y fontsize add def\n"
	"  [ /Rect [ 50 y 200 wy ]\n"
	"    /Open false\n"
	"    /Title Title\n"
	"    /Contents Text\n"
	"    /Color [R G B]\n"
	"  /ANN pdfmark\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Zentrierter Text\n"
	"%% Es wird nur der auszugebende Text uebergeben\n"
	"\n"
	"/breite      % Text breite -\n"
	"{\n"
	"  /Text exch def\n"
	"  /Mitte rightmargin leftmargin sub 2 div def\n"
	"  Text stringwidth pop\n"
	"  /Breite exch def\n"
	"  /Halb Breite 2 div def\n"
	"  currentpoint exch pop\n"
	"  /y exch def\n"
	"  /x Mitte Halb sub leftmargin add def\n"
	"  x y moveto\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Text wird linksbuendig, zentriert oder rechtsbuendig ausgegeben\n"
	"\n"
	"/setAlign      % Text tAlign setAlign -\n"
	"{\n"
	"  /tAlign exch def\n"
	"  /Text exch def\n"
	"  /Mitte rightmargin leftmargin sub 2 div def\n"
	"  Text stringwidth pop\n"
	"  /Width exch def\n"
	"  /Halb Width 2 div def\n"
	"  currentpoint exch pop\n"
	"  /y exch def\n"
	"\n"
	"  tAlign 2 eq\n"
	"  {\n"
	"    /x rightmargin Width sub def\n"
	"  } if\n"
	"  tAlign 1 eq\n"
	"  {\n"
	"    /x Mitte Halb sub leftmargin add def\n"
	"  } if\n"
	"  tAlign 0 eq\n"
	"  {\n"
	"    /x actx def\n"
	"  } if\n"
	"\n"
	"  x y moveto\n"
	"  Text udoshow\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% About UDO german\n"
	"\n"
	"/aboutUDO_ger      % udo_rel_pl udo_os udo_url aboutUDO_ger -\n"
	"{\n"
	"  /udo_url exch def\n"
	"  /udo_os exch def\n"
	"  /udo_rel_pl exch def\n"
	"\n"
	"  11 changeFontSize\n"
	"  (Dieser Text wurde erzeugt mit) Center setAlign newline\n"
	"  18 changeFontSize newline\n"
	"  Bon (UDO) Center setAlign Boff newline\n"
	"  11 changeFontSize\n"
	"  udo_rel_pl Center setAlign newline\n"
	"  udo_os Center setAlign newline\n"
	"  newline \n"
	"  (Copyright \\251 1995-2001 by Dirk Hagedorn) Center setAlign newline\n"
	"  (UDO ist Open Source) Center setAlign newline\n"
	"  newline\n"
	"  (UDO ist ein Programm, welches Textdateien, die im) Center setAlign newline\n"
	"  (Universal Document Format erstellt wurden, in das ASCII-,) Center setAlign newline\n"
	"  (ST-Guide-, LaTeX-, Rich Text-, Pure-C-Help-, Manualpage-,) Center setAlign newline\n"
	"  (HTML-, WinHelp-, Texinfo-, Linuxdoc-SGML-, LyX-, Apple-QuickView-) Center setAlign newline\n"
	"  (und Turbo-Vision-Help-Format umwandeln kann.) Center setAlign newline\n"
	"  newline\n"
	"  (Weitere Informationen sowie die aktuellen Versionen findet man im World Wide Web unter) Center setAlign newline\n"
	"  udo_url breite\n"
	"  udo_url udo_url 0 0 255 WebLink\n"
	"} bind def\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% About UDO english\n"
	"\n"
	"/aboutUDO_eng      % udo_rel_pl udo_os udo_url aboutUDO_eng -\n"
	"{\n"
	"  /udo_url exch def\n"
	"  /udo_os exch def\n"
	"  /udo_rel_pl exch def\n"
	"\n"
	"  11 changeFontSize\n"
	"  (This text was made with) Center setAlign newline\n"
	"  18 changeFontSize newline\n"
	"  Bon (UDO) Center setAlign Boff newline\n"
	"  11 changeFontSize\n"
	"  udo_rel_pl Center setAlign newline\n"
	"  udo_os Center setAlign newline\n"
	"  newline\n"
	"  (Copyright \\251 1995-2001 by Dirk Hagedorn) Center setAlign newline\n"
	"  (UDO is Open Source) Center setAlign newline\n"
	"  newline\n"
	"  (UDO is a program that converts files that are written) Center setAlign newline\n"
	"  (in the Universal Document Format into ASCII, ST-Guide, LaTeX,) Center setAlign newline\n"
	"  (Rich Text Format, Pure C Help, Manualpage, HTML, WinHelp,) Center setAlign newline\n"
	"  (Texinfo, Linuxdoc-SGML, LyX, Apple QuickView and Turbo-Vision-Help.) Center setAlign newline\n"
	"  newline\n"
	"  (Further information and the current versions can be found at) Center setAlign newline\n"
	"  udo_url breite\n"
	"  udo_url udo_url 0 0 255 WebLink\n"
	"} bind def\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Uebergabe der Fussnoten\n"
	"\n"
	"/footnote          % Text footnote -\n"
	"{\n"
	"  /localstring ( ) def\n"
	"\n"
	"  /footlines 1 def\n"
	"  /Text exch def\n"
	"  Text udofoot\n"
	"  /lowermargin lowermargin fontsize footlines 1 add mul add def\n"
	"  /footnumbers footnumbers 1 add def\n"
	"\n"
	"  fontsize\n"
	"  9 changeFontSize\n"
	"  currentpoint\n"
	"  /fy exch 5 add def\n"
	"  fy moveto\n"
	"  footnumbers localstring cvs udoshow\n"
	"  currentpoint\n"
	"  /fy exch 5 sub def\n"
	"  fy moveto\n"
	"  changeFontSize\n"
	"  footnotetext footnumbers Text put\n"
	"} bind def\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Ausgabe der Fussnoten\n"
	"\n"
	"/footout\n"
	"{\n"
	"  footnumbers 0 gt\n"
	"  {\n"
	"    /foot true def\n"
	"    /counter 0 def\n"
	"    /localstring (  ) def\n"
	"\n"
	"    myleftmargin lowermargin 15 sub moveto\n"
	"    myleftmargin 80 add lowermargin 15 sub lineto\n"
	"    stroke\n"
	"    myleftmargin lowermargin 20 sub moveto\n"
	"\n"
	"    footnumbers\n"
	"    {\n"
	"      /counter counter 1 add def\n"
	"      currentpoint\n"
	"      /acty exch fontsize 1.5 mul sub def\n"
	"      pop\n"
	"      myleftmargin acty moveto\n"
	"      fontsize dup\n"
	"      exch 2 sub changeFontSize\n"
	"      currentpoint\n"
	"      /acty exch 4 add def\n"
	"      acty moveto\n"
	"      counter localstring cvs udoshow\n"
	"      currentpoint\n"
	"      /acty exch 4 sub def\n"
	"      pop\n"
	"      /actx myleftmargin 10 add def\n"
	"      actx acty moveto\n"
	"      changeFontSize\n"
	"      footnotetext counter get udoshow\n"
	"      /strlen 0 def\n"
	"    } repeat\n"
	"  } if\n"
	"  /foot false def\n"
	"} bind def\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Hilfsfunktionen fuer Fussnoten\n"
	"\n"
	"/calcwordlenfoot        %% PRIVATE!\n"
	"{\n"
	"    /wordlentest\n"
	"    exch\n"
	"    stringwidth pop def\n"
	"}\n"
	"bind def\n"
	"\n"
	"\n"
	"/wordtest            %% PRIVATE!\n"
	"{\n"
	"  exch\n"
	"  dup\n"
	"  () ne    %%-- Leere Strings ignorieren...\n"
	"  {\n"
	"    /strlentest strlentest wordlentest add def\n"
	"    strlentest linelen gt\n"
	"    {\n"
	"      /footlines footlines 1 add def\n"
	"      /strlentest wordlentest def\n"
	"    } if\n"
	"%    showout     %% -- Wort ausgeben\n"
	"     pop\n"
	"  }\n"
	"  {\n"
	"    pop  %%-- Leerstring entfernen\n"
	"  } ifelse\n"
	"\n"
	"  {             %% Spaceflag auswerten...\n"
	"%    showout   %% -- Space ausgeben\n"
	"     pop\n"
	"    /strlentest strlentest spacewidth add def\n"
	"  } if\n"
	"}\n"
	"bind def\n"
	"\n"
	"%%--------------------\n"
	"\n"
	"/udofoot            %% In: (String)\n"
	"{\n"
	"  /linelen rightmargin 90 sub def\n"
	"  /spacewidth ( ) stringwidth pop def\n"
	"\n"
	"  {\n"
	"    ( ) search      %%--- Spaces suchen\n"
	"    {               %%--- gefunden\n"
	"        dup            %%--- Wort duplizieren\n"
	"        calcwordlenfoot\n"
	"        true        %%--- 2 x show (mit Space)\n"
	"        wordtest\n"
	"    }\n"
	"    {               %%--- kein Space gefunden\n"
	"        dup\n"
	"        calcwordlenfoot\n"
	"        false       %%--- 1 x show\n"
	"        wordtest\n"
	"        exit\n"
	"    }\n"
	"    ifelse\n"
	"  }\n"
	"  loop\n"
	"}\n"
	"bind def\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"\n"
	"%% Ein- und Ausschalten der Description-Umgebung\n"
	"\n"
	"/description\n"
	"{\n"
	"  descript\n"
	"  {\n"
	"    /descript false def\n"
	"  }\n"
	"  {\n"
	"    /descript true def\n"
	"  } ifelse\n"
	"} bind def\n"
	"\n"
	"\n"
	"% ----------------------------------------------------------------------\n"
	"%%--- This part is generated by UDO:\n";
