[comp.fonts] Font Reencoding Nightmares

dudkl@dcatla.UUCP (Danny K. Llewallyn) (05/12/88)

Dear PostScript Experts,

I am having trouble reencoding a font.  I am using the routine found in
the Green Book on pages 115-117.  When I run the program appended at the
end of this message, I get the invalidfont error when I try to print the
following code points:

Code Points \267 - \275: atilde,otilde,agrave,egrave,igrave,ograve,ugrave.
Code Points \300 - \306: Agrave,Egrave,Igrave,Ograve,Ugrave,Atilde,Otilde.
Code Points \322 - \326: Acircumflex,Ecircumflex,Icircumflex,Ocircumflex,
                         Ucircumflex.

I know that the charprocs exist for these characters, for the characters
will print if I change the starting reencode point to 0 versus 176. Also,
I realize there is another reencoding example in the Blue Book, however
the one in the Green Book is more concise and elegant.  Thanks in Advance
for any help you can give me with this problem.

Danny.

----------- PostScript Program Starts Below this Line ----------------
/RE {
  findfont begin currentdict dup length dict begin{1 index/FID ne{def}{pop
  pop}ifelse}forall/FontName exch def dup length 0 ne{/Encoding Encoding 256
  array copy def 0 exch{dup type/nametype eq{Encoding 2 index 2 index put pop
  1 add}{exch pop}ifelse}forall}if pop currentdict dup end end/FontName get
  exch definefont pop
}bind def
/stdencoding[176/space/space/space/space/dieresis/acute/cedilla/atilde
/otilde/agrave/egrave/igrave/ograve/ugrave/udieresis/eacute/Agrave/Egrave
/Igrave/Ograve/Ugrave/Atilde/Otilde/Y/A/E/E/I/O/U/Y/C/Edieresis/Idieresis
/Acircumflex/Ecircumflex/Icircumflex/Ocircumflex/Ucircumflex/Aacute
/Iacute/Oacute/Uacute/space/ccedilla/semicolon/asterisk/oslash/D/one/three
/space/V/P/Y/P/paragraph/underscore/equal/endash/registered/space/space
/space/space/space/space/space/space/space/space/space/space/space/space
/space/space/space/space/space]def
stdencoding /NewCourier /Courier RE
/NewCourier findfont 8 scalefont setfont
72 750 moveto
currentpoint
(  0123456789ABCDEF) show stroke
moveto
currentpoint
(  ________________) show stroke
moveto
0 -10 rmoveto
currentpoint
(0:\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017)
show stroke
moveto
0 -10 rmoveto
currentpoint
(1:\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037)
show stroke
moveto
0 -10 rmoveto
currentpoint
(2:\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057)
show stroke
moveto
0 -10 rmoveto
currentpoint
(3:\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077)
show stroke
moveto
0 -10 rmoveto
currentpoint
(4:\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117)
show stroke
moveto
0 -10 rmoveto
currentpoint
(5:\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137)
show stroke
moveto
0 -10 rmoveto
currentpoint
(6:\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157)
show stroke
moveto
0 -10 rmoveto
currentpoint
(7:\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177)
show stroke
moveto
0 -10 rmoveto
currentpoint
(8:\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217)
show stroke
moveto
0 -10 rmoveto
currentpoint
(9:\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237)
show stroke
moveto
0 -10 rmoveto
currentpoint
(A:\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257)
show stroke
moveto
0 -10 rmoveto
currentpoint
(B:\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277)
show stroke
moveto
0 -10 rmoveto
currentpoint
(C:\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317)
show stroke
moveto
0 -10 rmoveto
currentpoint
(D:\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337)
show stroke
moveto
0 -10 rmoveto
currentpoint
(E:\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357)
show stroke
moveto
0 -10 rmoveto
currentpoint
(F:\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377)
show stroke
moveto
showpage