[comp.text.tex] oh joy o bliss a dotless j

spqr@uminho.ctt.pt (12/07/90)

Some time ago, I asked around for anyone who could help
me make a dotless j on PostScript fonts for general use
in TeX-like virtual fonts. Several people pointed me at some
work by Amanda Walker posted earlier in the year, and I have finally
got what I wanted out of this, which is a font containing just the
characters ff, ffi, ffl and dotless j, which I can insert ad lib
in my virtual font. I append the code below  

Thank AManda for the real work here, not me.

sebastian rahtz
%!PS
/DVIEncoding [ /ff /ffi /ffl /dotlessj ] def
/bdf { bind def } bind def
20 dict begin
        /FontType 3 def
        /FontMatrix [.001 0 0 .001 0 0] def
        /FontBBox [0 0 1000 1000] def
        /FontName /TeX-Times-Roman def
        /Encoding DVIEncoding def
        /BaseFonts [ /Times-Roman findfont 1000 scalefont ] def
        /String 1 string def
        /sf {   % font character sf (prints character of specfied base font)
                String exch 0 exch put
                BaseFonts exch get setfont
                String stringwidth
                0 0 moveto String false charpath flattenpath pathbbox
                6 copy setcachedevice
                0 0 moveto String show
        } bdf
        /CharProcs 4 dict def
        CharProcs begin
                /ff {
                        (ff) stringwidth exch 50 sub exch
                        0 0 moveto (ff) false charpath flattenpath pathbbox
                        exch 50 sub exch
                        6 copy setcachedevice
                        0 0 moveto (f) show -50 0 rmoveto (f) show
                } def
                /ffi {
                        (f\256) stringwidth exch 50 sub exch
                        0 0 moveto (f\256) false charpath flattenpath pathbbox
                        exch 50 sub exch
                        6 copy setcachedevice
                        0 0 moveto (f) show -50 0 rmoveto (\256) show
                } def
                /ffl {
                        (f\257) stringwidth exch 50 sub exch
                        0 0 moveto (f\257) false charpath flattenpath pathbbox
                        exch 50 sub exch
                        6 copy setcachedevice
                        0 0 moveto (f) show -50 0 rmoveto (\257) show
                } def
                /dotlessj {
                        (j) stringwidth
                        0 0 moveto (j) false charpath flattenpath pathbbox
                        6 copy setcachedevice newpath
                        0 0 moveto (\365) false charpath flattenpath pathbbox
                        newpath -1000 -1000 moveto
                        dup -1000 exch lineto
                        1000 exch lineto
                        1000 -1000 lineto
                        closepath clip
                        pop pop pop
                        0 0 moveto (j) show
                } def
        end
        /BuildChar {
                exch begin
                BaseFonts 0 get setfont
                dup Encoding exch get
                CharProcs exch get exch pop exec 
                end
        } def
        currentdict
end
dup /FontName get exch definefont pop

72 720 moveto 
/TeX-Times-Roman findfont 12 scalefont setfont
(\000\001\002\003)show showpage