%PS% % This script will re-encode all of the common fonts available in PostScript % machines with an ISO-8859-1 encoding vector. % A few extra characters are added: % % 128 /bullet 129 /dagger 130 /daggerdbl % \200 \201 \202 % 131 /ellipsis 132 /emdash 133 /endash % \203 \204 \205 % 134 /florin 135 /fraction 136 /guilsinglleft % \206 \207 \210 % 137 /guilsinglright 138 /minus 139 /perthousand % \211 \212 \213 % 140 /quotedblbase 141 /quotedblleft 142 /quotedblright % \214 \215 \216 % 143 /quoteleft 144 /quoteright 145 /quotesinglbase % \217 \220 \221 % 146 /trademark 147 /fi 148 /fl % \222 \223 \224 % 149 /Lslash 150 /OE 151 /Scaron % \225 \226 \227 % 152 /Ydieresis 153 /Zcaron 154 /dotlessi % \230 \231 \232 % 155 /lslash 156 /oe 157 /scaron % \233 \234 \235 % 158 /zcaron % \236 % % and the accents have been moved down to the 0-31 block. /reencsmalldict 12 dict def /ReEncodeSmall % orig-name new-name new-encoding => - {reencsmalldict begin /newcodesandnames exch def /newfontname exch def /basefontname exch 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 newcodesandnames aload pop newcodesandnames length 2 idiv { newfont /Encoding get 3 1 roll put } repeat newfontname newfont definefont pop end } def /pdfvec [ 24 /breve 25 /caron 26 /circumflex % \030 \031 \032 27 /dotaccent 28 /hungarumlaut 29 /ogonek % \033 \034 \035 30 /ring 31 /tilde % \036 \037 128 /bullet 129 /dagger 130 /daggerdbl % \200 \201 \202 131 /ellipsis 132 /emdash 133 /endash % \203 \204 \205 134 /florin 135 /fraction 136 /guilsinglleft % \206 \207 \210 137 /guilsinglright 138 /minus 139 /perthousand % \211 \212 \213 140 /quotedblbase 141 /quotedblleft 142 /quotedblright % \214 \215 \216 143 /quoteleft 144 /quoteright 145 /quotesinglbase % \217 \220 \221 146 /trademark 147 /fi 148 /fl % \222 \223 \224 149 /Lslash 150 /OE 151 /Scaron % \225 \226 \227 152 /Ydieresis 153 /Zcaron 154 /dotlessi % \230 \231 \232 155 /lslash 156 /oe 157 /scaron % \233 \234 \235 158 /zcaron % \236 161 /exclamdown 162 /cent 163 /sterling % \241 \242 \243 164 /currency 165 /yen 166 /brokenbar % \244 \245 \246 167 /section 168 /dieresis 169 /copyright % \247 \250 \251 170 /ordfeminine 171 /guillemotleft 172 /logicalnot % \252 \253 \254 174 /registered 175 /macron % \256 \257 176 /degree 177 /plusminus 178 /twosuperior % \260 \261 \262 179 /threesuperior 180 /acute 181 /mu % \263 \264 \265 182 /paragraph 183 /periodcentered 184 /cedilla % \266 \267 \270 185 /onesuperior 186 /ordmasculine 187 /guillemotright % \271 \272 \273 188 /onequarter 189 /onehalf 190 /threequarters % \274 \275 \276 191 /questiondown % \277 192 /Agrave 193 /Aacute 194 /Acircumflex % \300 \301 \302 195 /Atilde 196 /Adieresis 197 /Aring % \303 \304 \305 198 /AE 199 /Ccedilla 200 /Egrave % \306 \307 \310 201 /Eacute 202 /Ecircumflex 203 /Edieresis % \311 \312 \313 204 /Igrave 205 /Iacute 206 /Icircumflex % \314 \315 \316 207 /Idieresis 208 /Eth 209 /Ntilde % \317 \320 \321 210 /Ograve 211 /Oacute 212 /Ocircumflex % \322 \323 \324 213 /Otilde 214 /Odieresis 215 /multiply % \325 \326 \327 216 /Oslash 217 /Ugrave 218 /Uacute % \330 \331 \332 219 /Ucircumflex 220 /Udieresis 221 /Yacute % \333 \334 \335 222 /Thorn 223 /germandbls 224 /agrave % \336 \337 \340 225 /aacute 226 /acircumflex 227 /atilde % \341 \342 \343 228 /adieresis 229 /aring 230 /ae % \344 \345 \346 231 /ccedilla 232 /egrave 233 /eacute % \347 \350 \351 234 /ecircumflex 235 /edieresis 236 /igrave % \352 \353 \354 237 /iacute 238 /icircumflex 239 /idieresis % \355 \356 \357 240 /eth 241 /ntilde 242 /ograve % \360 \361 \362 243 /oacute 244 /ocircumflex 245 /otilde % \363 \364 \365 246 /odieresis 247 /divide 248 /oslash % \366 \367 \370 249 /ugrave 250 /uacute 251 /ucircumflex % \371 \372 \373 252 /udieresis 253 /yacute 254 /thorn % \374 \375 \376 255 /ydieresis % \377 ] def /FontVec [ /Times-Roman /Times-Roman-pdf /Times-Italic /Times-Italic-pdf /Times-Bold /Times-Bold-pdf /Times-BoldItalic /Times-BoldItalic-pdf /Helvetica /Helvetica-pdf /Helvetica-Oblique /Helvetica-Oblique-pdf /Helvetica-Bold /Helvetica-Bold-pdf /Helvetica-BoldOblique /Helvetica-BoldOblique-pdf /Courier /Courier-pdf /Courier-Oblique /Courier-Oblique-pdf /Courier-Bold /Courier-Bold-pdf /Courier-BoldOblique /Courier-BoldOblique-pdf /Palatino-Roman /Palatino-Roman-pdf /Palatino-Italic /Palatino-Italic-pdf /Palatino-Bold /Palatino-Bold-pdf /Palatino-BoldItalic /Palatino-BoldItalic-pdf /NewCenturySchlbk-Roman /NewCenturySchlbk-Roman-pdf /NewCenturySchlbk-Italic /NewCenturySchlbk-Italic-pdf /NewCenturySchlbk-Bold /NewCenturySchlbk-Bold-pdf /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-BoldItalic-pdf /Bookman-Light /Bookman-Light-pdf /Bookman-LightItalic /Bookman-LightItalic-pdf /Bookman-Demi /Bookman-Demi-pdf /Bookman-DemiItalic /Bookman-DemiItalic-pdf /AvantGarde-Book /AvantGarde-Book-pdf /AvantGarde-BookOblique /AvantGarde-BookOblique-pdf /AvantGarde-Demi /AvantGarde-Demi-pdf /AvantGarde-DemiOblique /AvantGarde-DemiOblique-pdf /Helvetica-Narrow /Helvetica-Narrow-pdf /Helvetica-Narrow-Oblique /Helvetica-Narrow-Oblique-pdf /Helvetica-Narrow-Bold /Helvetica-Narrow-Bold-pdf /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-BoldOblique-pdf ] def % item table no-entries/line TabSearch item index true % item false /TabSearch { 1 index length 1 index idiv 1 sub 0 1 3 -1 roll {1 index mul dup 3 index exch get 4 index eq {3 1 roll pop pop true exit}{pop}ifelse}for dup type /booleantype ne {pop pop false}if } def % - SetFont - Replace Quikscript procedure /SetFont { Font FontTp FontWt FontStack FontInd get 2 mul add 2 mul add get FontVec 2 TabSearch {1 add FontVec exch get dup 3 1 roll pdfvec ReEncodeSmall Font FontTp FontWt FontStack FontInd get 2 mul add 2 mul add 2 index put} if findfont FntSizStack FntSiz get SubBase 0 ne {SubFr mul}if scalefont setfont } def QSdict begin userdict begin 0 1 FontVec length 2 idiv 1 sub { 2 mul dup FontVec exch get dup {findfont} stopped {pop pop exit}{pop}ifelse FontVec 3 -1 roll 1 add get 1 index 1 index pdfvec ReEncodeSmall exch /I 0 def {Font I get 1 index eq { pop Font I 3 -1 roll put exit} { /I I 1 add def} ifelse } loop } for end end PE %FN%%FN%