home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 4 / AUCD4.iso / acorn / riscos / releases / ro2extra / !PrinterPS / PSprolog < prev    next >
Text File  |  1989-04-27  |  10KB  |  259 lines

  1. % > <PDriver$Dir>.<PDriver$PSprologue>
  2. % User-editable prologue definitions for the PostScript printer driver
  3. % module.
  4. % Version 2.03, first used with version 2.04 of the module.
  5. %%DocumentFonts: Courier Courier-Oblique Courier-Bold
  6. %%+ Courier-BoldOblique Helvetica Helvetica-Oblique Helvetica-Bold
  7. %%+ Helvetica-BoldOblique NewCenturySchlbk-Bold Times-Roman
  8. %%+ Times-Italic Times-Bold Times-BoldItalic ZapfDingbats
  9. %%EndComments
  10.  
  11. % If you add further fonts to the '%%DocumentFonts:' and '%%+" comments
  12. % above, make certain that you keep strictly to the format above - in
  13. % particular, all names are case-sensitive, exactly one space should
  14. % appear between the start of the comment and the first font name on
  15. % the line, exactly one space should appear between font names, and
  16. % there should no surplus spaces at the ends of lines.
  17. %   Note also that all PostScript font names quoted in the font
  18. % translation data at the bottom of this file should appear in these
  19. % comments.
  20.  
  21. % Note for advanced users: the printer driver module will remove
  22. % PostScript comments from this file when copying it into the PostScript
  23. % output (to avoid excessive amounts of output) according to the
  24. % following simple algorithm:
  25. %   (a) If a line starts with "%%" or "%!", it is copied without any
  26. %       changes.
  27. %   (b) If a line starts with a "%" and does not start with "%%" or
  28. %       "%!", the whole line is removed, including the new line at the
  29. %       end of it.
  30. %   (c) If a "%" appears anywhere else in a line that does not start
  31. %       with "%%" or "%!", it and all characters up to but not including
  32. %       the following new line are removed.
  33. % In the unlikely event that you wish to add some PostScript containing
  34. % e.g. a string with a "%" in it, use the "\045" escape sequence
  35. % instead.
  36. %   The printer driver will also compress multiple new lines down to
  37. % one new line when copying this file.
  38.  
  39. % CHARACTER ENCODING VECTORS
  40.  
  41. % The following chunk of PostScript defines the ISO 8859-1 Latin 1
  42. % mapping of character codes to PostScript character names, plus
  43. % Acorn's extensions to this character encoding. It can be edited if
  44. % necessary to produce other encodings. Note that PostScript character
  45. % names are case-sensitive. Also note that if you add composite
  46. % characters, you must make certain that all their components appear
  47. % somewhere in the encoding vector - if necessary, among the unused
  48. % codes 0-31.
  49.  
  50. /Latin1Enc [
  51. /dotlessi /ring /.notdef /.notdef       % Codes 0-31 (character
  52. /.notdef /.notdef /.notdef /.notdef     %   components required to
  53. /.notdef /.notdef /.notdef /.notdef     %   make all the composite
  54. /.notdef /.notdef /.notdef /.notdef     %   characters work).
  55. /.notdef /.notdef /.notdef /.notdef
  56. /.notdef /.notdef /.notdef /.notdef
  57. /.notdef /.notdef /.notdef /.notdef
  58. /.notdef /.notdef /.notdef /.notdef
  59. /space /exclam /quotedbl /numbersign    % Codes 32-63
  60. /dollar /percent /ampersand /quotesingle
  61. /parenleft /parenright /asterisk /plus
  62. /comma /hyphen /period /slash
  63. /zero /one /two /three
  64. /four /five /six /seven
  65. /eight /nine /colon /semicolon
  66. /less /equal /greater /question
  67. /at /A /B /C                            % Codes 64-95
  68. /D /E /F /G
  69. /H /I /J /K
  70. /L /M /N /O
  71. /P /Q /R /S
  72. /T /U /V /W
  73. /X /Y /Z /bracketleft
  74. /backslash /bracketright /circumflex /underscore
  75. /grave /a /b /c                         % Codes 96-127
  76. /d /e /f /g
  77. /h /i /j /k
  78. /l /m /n /o
  79. /p /q /r /s
  80. /t /u /v /w
  81. /x /y /z /braceleft
  82. /bar /braceright /tilde /.notdef        % NB code 127 is unused
  83. /.notdef /.notdef /.notdef /.notdef     % Codes 128-139 (Wimp characters)
  84. /.notdef /.notdef /.notdef /.notdef
  85. /.notdef /.notdef /.notdef /.notdef
  86. /.notdef /.notdef /.notdef /bullet      % Codes 140-159 (Acorn extensions)
  87. /quoteleft /quoteright /guilsinglleft /guilsinglright
  88. /quotedblleft /quotedblright /quotedblbase /endash
  89. /emdash /minus /OE /oe
  90. /dagger /daggerdbl /fi /fl
  91. /space /exclamdown /cent /sterling      % Codes 160-191
  92. /currency /yen /brokenbar /section
  93. /dieresis /copyright /ordfeminine /guillemotleft
  94. /logicalnot /hyphen /registered /macron
  95. /degree /plusminus /twosuperior /threesuperior
  96. /acute /mu /paragraph /periodcentered
  97. /cedilla /onesuperior /ordmasculine /guillemotright
  98. /onequarter /onehalf /threequarters /questiondown
  99. /Agrave /Aacute /Acircumflex /Atilde    % Codes 192-223
  100. /Adieresis /Aring /AE /Ccedilla
  101. /Egrave /Eacute /Ecircumflex /Edieresis
  102. /Igrave /Iacute /Icircumflex /Idieresis
  103. /Eth /Ntilde /Ograve /Oacute
  104. /Ocircumflex /Otilde /Odieresis /multiply
  105. /Oslash /Ugrave /Uacute /Ucircumflex
  106. /Udieresis /Yacute /Thorn /germandbls
  107. /agrave /aacute /acircumflex /atilde    % Codes 224-255
  108. /adieresis /aring /ae /ccedilla
  109. /egrave /eacute /ecircumflex /edieresis
  110. /igrave /iacute /icircumflex /idieresis
  111. /eth /ntilde /ograve /oacute
  112. /ocircumflex /otilde /odieresis /divide
  113. /oslash /ugrave /uacute /ucircumflex
  114. /udieresis /yacute /thorn /ydieresis
  115. ] def
  116.  
  117. % This is an encoding vector for a font that is a subset of
  118. % ZapfDingbats. It has some permutations from the original ZapfDingbats
  119. % encoding to ensure that a set of convenient varied bullet characters
  120. % are all drawn together in the codes &61 to &6F.
  121. % These permutations are as follows:
  122. %   swap &25 (a4)  with &61 (a60)
  123. %   move &34 (a20) to   &62
  124. %   move &38 (a24) to   &63
  125. %   swap &48 (a35) with &65 (a64)
  126. %   move &5D (a56) to   &66
  127. %   move &70 (a203)to   &67
  128. %   move &71 (a75) to   &68
  129. %   swap &72 (a204)with &69 (a68)
  130. %   move &75 (a78) to   &6A
  131. %   swap &E7 (a177)with &6B (a70)
  132.  
  133. /SelwynEnc [
  134. /.notdef /.notdef /.notdef /.notdef     % Codes 0-31 (character
  135. /.notdef /.notdef /.notdef /.notdef     %   components required to
  136. /.notdef /.notdef /.notdef /.notdef     %   make all the composite
  137. /.notdef /.notdef /.notdef /.notdef     %   characters work).
  138. /.notdef /.notdef /.notdef /.notdef
  139. /.notdef /.notdef /.notdef /.notdef
  140. /.notdef /.notdef /.notdef /.notdef
  141. /.notdef /.notdef /.notdef /.notdef
  142. /space /a1 /a2 /a202                    % Codes 32-63
  143. /a3 /a60 /.notdef /a119
  144. /.notdef /a117 /a11 /a12
  145. /.notdef /a14 /.notdef /.notdef
  146. /.notdef /.notdef /.notdef /a19
  147. /.notdef /a21 /a22 /.notdef
  148. /.notdef /a25 /a26 /a27
  149. /a28 /a6 /a7 /a8
  150. /a9 /a10 /.notdef /.notdef              % Codes 64-95
  151. /.notdef /.notdef /a33 /a34
  152. /a64 /a36 /a37 /.notdef
  153. /a39 /a40 /.notdef /.notdef
  154. /a43 /a44 /.notdef /.notdef
  155. /.notdef /.notdef /.notdef /.notdef
  156. /.notdef /.notdef /.notdef /a54
  157. /a55 /.notdef /a57 /a58
  158. /a59 /a4 /a20 /a24                      % Codes 96-127
  159. /a63 /a35 /a56 /a203
  160. /a75 /a204 /a78 /a177
  161. /a71 /a72 /a73 /a74
  162. /.notdef /.notdef /a68 /a76
  163. /a77 /.notdef /a79 /a81
  164. /a82 /a83 /a84 /.notdef
  165. /.notdef /.notdef /.notdef /.notdef
  166. /.notdef /.notdef /.notdef /.notdef     % Codes 128-159
  167. /.notdef /.notdef /.notdef /.notdef
  168. /.notdef /.notdef /.notdef /.notdef
  169. /.notdef /.notdef /.notdef /.notdef
  170. /.notdef /.notdef /.notdef /.notdef
  171. /.notdef /.notdef /.notdef /.notdef
  172. /.notdef /.notdef /.notdef /.notdef
  173. /.notdef /.notdef /.notdef /.notdef
  174. /.notdef /.notdef /.notdef /.notdef     % Codes 160-191
  175. /.notdef /.notdef /.notdef /.notdef
  176. /a112 /a111 /a110 /a109
  177. /a120 /a121 /a122 /a123
  178. /a124 /a125 /a126 /a127
  179. /a128 /a129 /a130 /a131
  180. /a132 /a133 /a134 /a135
  181. /a136 /a137 /a138 /a139
  182. /.notdef /.notdef /.notdef /.notdef     % Codes 192-223
  183. /.notdef /.notdef /.notdef /.notdef
  184. /.notdef /.notdef /.notdef /.notdef
  185. /.notdef /.notdef /.notdef /.notdef
  186. /.notdef /.notdef /.notdef /.notdef
  187. /.notdef /a161 /a163 /a164
  188. /a196 /a165 /a192 /.notdef
  189. /a167 /.notdef /.notdef /.notdef
  190. /.notdef /.notdef /a173 /a162           % Codes 224-255
  191. /a174 /a175 /a176 /a70
  192. /.notdef /.notdef /.notdef /.notdef
  193. /.notdef /.notdef /.notdef /.notdef
  194. /acorn /.notdef /.notdef /.notdef       % Acorn character not available,
  195. /.notdef /.notdef /.notdef /.notdef     %   so becomes /.notdef
  196. /.notdef /.notdef /.notdef /.notdef
  197. /.notdef /.notdef /.notdef /.notdef
  198. ] def
  199.  
  200. % Unless you really know what you are doing, do not edit the following
  201. % PostScript, except for the indicated possible changes.
  202.  
  203. % The size of the following dictionary can be changed. One entry is used
  204. % for each font translation and one entry is used for the system font.
  205. /fonts 100 dict def
  206.  
  207. /ChkCh {
  208.   dup Encoding exch get
  209.   CharStrings exch known {pop} {Encoding exch /.notdef put} ifelse
  210. } bind def
  211.  
  212. /FF {
  213.   3 1 roll
  214.   findfont begin
  215.     currentdict dup maxlength 1 add dict begin
  216.       {1 index /FID ne {def} {pop pop} ifelse} forall
  217.       /Encoding 3 -1 roll 256 array copy def
  218.       /Metrics 1 dict def
  219.       Metrics /.notdef 0 put
  220. % Possible change: Delete or comment out the following line if you
  221. % want undefined PostScript characters to generate errors rather than
  222. % be ignored.
  223.       0 1 255 /ChkCh load for
  224.       dup currentdict
  225.     end
  226.   end
  227.   definefont
  228.   fonts 3 1 roll put
  229. } bind def
  230.  
  231. % The font translation data follows. You can install further
  232. % translations by adding lines of the form:
  233. %   /<RISC OS font name> /<PostScript font name> <encoding name> FF
  234. % Note that all names are case-sensitive. Also note that you should
  235. % add any additional PostScript font names that appear here to the
  236. % '%%DocumentFonts' comment at the head of this file.
  237. %   This line will take a copy of the PostScript font specified, copy
  238. % the specified encoding into it to get the right mapping of character
  239. % codes to characters, change the width of the undefined character to
  240. % zero and install the result as a new font whose name is the RISC OS
  241. % font name. In addition, it checks that all of the characters named
  242. % in the encoding vector exist in the font: any that don't are removed
  243. % (i.e. replaced by '/.notdef') from the new font's encoding.
  244.  
  245. /Corpus.Medium /Courier Latin1Enc FF
  246. /Corpus.Medium.Oblique /Courier-Oblique Latin1Enc FF
  247. /Corpus.Bold /Courier-Bold Latin1Enc FF
  248. /Corpus.Bold.Oblique /Courier-BoldOblique Latin1Enc FF
  249. /Homerton.Medium /Helvetica Latin1Enc FF
  250. /Homerton.Medium.Oblique /Helvetica-Oblique Latin1Enc FF
  251. /Homerton.Bold /Helvetica-Bold Latin1Enc FF
  252. /Homerton.Bold.Oblique /Helvetica-BoldOblique Latin1Enc FF
  253. /NewHall.Bold /NewCenturySchlbk-Bold Latin1Enc FF
  254. /Selwyn /ZapfDingbats SelwynEnc FF
  255. /Trinity.Medium /Times-Roman Latin1Enc FF
  256. /Trinity.Medium.Italic /Times-Italic Latin1Enc FF
  257. /Trinity.Bold /Times-Bold Latin1Enc FF
  258. /Trinity.Bold.Italic /Times-BoldItalic Latin1Enc FF
  259.