One problem was trivial: some files were put in a subdir named pfb
which had to be named type1
on my box.
The bigger problem: the instructions neglected ttf2pt1's -a switch; this omits at least the f-i and f-l ligatures and the dotless i. Of course it's trivial to add the switch, but a lethal bug would appear in some of the Type1 files produced. I figured to get around this by using the original TrueType files for rendering.2
It was easy to do. After proceeding as Harder describes, add appropriate entries to the Ghostscript face map (as a hint, mine's in /usr/pkg/share/ghostscript/6.01vflib/lib/Fontmap.GS). I was adding Bitstream Galliard, so I had appended
(GalliardITCbyBT-Roman) (/usr/pkg/share/texmf/fonts/ttf/bitstrea/galliard/bglr8a.ttf) ;
(GalliardITCbyBT-Bold) (/usr/pkg/share/texmf/fonts/ttf/bitstrea/galliard/bglb8a.ttf) ;
(GalliardITCbyBT-Italic) (/usr/pkg/share/texmf/fonts/ttf/bitstrea/galliard/bglri8a.ttf) ;
(GalliardITCbyBT-BoldItalic) (/usr/pkg/share/texmf/fonts/ttf/bitstrea/galliard/bglbi8a.ttf) ;
Then remove from bgl.map the final thingies on each line, which pulled in the broken Type1 faces (and rerun updmap):
bglr8r GalliardITCbyBT-Roman "TeXBase1Encoding ReEncodeFont" <8r.enc
bglro8r GalliardITCbyBT-Roman "0.167 SlantFont TeXBase1Encoding ReEncodeFont" <8r.enc
bglbi8r GalliardITCbyBT-BoldItalic "TeXBase1Encoding ReEncodeFont" <8r.enc
bglb8r GalliardITCbyBT-Bold "TeXBase1Encoding ReEncodeFont" <8r.enc
bglbo8r GalliardITCbyBT-Bold "0.167 SlantFont TeXBase1Encoding ReEncodeFont" <8r.enc
bglri8r GalliardITCbyBT-Italic "TeXBase1Encoding ReEncodeFont" <8r.enc
And behold! My kdvi, dvips, kghostview, etc. all are content now. Of course the resulting Postscript file isn't as portable as one which included typefaces would've been, but that's still better than Postscript that doesn't work at all. And without the conversion and embedding, this method probably violates way fewer copyrights.
2001 Oct 22: The time came when I needed to embed face data; Type42 to the rescue. I just passed the TT through ttftot42 and then used a simple script to find the DocumentFonts header and embed what it could find.3 I prefer this to having dvips always embed the font—and according to the Document Structuring Conventions embedding is best left to the print manager/spooler. (Unfortunately, the print shop seemed to have a spooler no more sophisticated than cat.)
Note that I don't use LaTeX anymore, I'm plain-TeX only. This may not work for LaTeX and I don't care =) I also have not explored how many, if any, of the other files installed by Harder's method are unnecessary under my solution.
A grab from kdvi of
Galliard,
with f-i ligature and dotless i with dieresis:
The same in Georgia4
(a much wider family with very different line breaks):
1. There may be use referring to Damir Rakityansky.
2. There was a third problem I forgot to mention, which could only be solved by this method; the conversions were sometimes ugly, not only unfaithful but inconsistent in stroke weight, etc. I guess this is a common experience—see the Font FAQ Subject 1.11. It turns out that TrueType has features and resolution Type1 does not, and for this reason it's better to add TrueType interpreters to PostScript than convert TrueType to Type1. [see] I don't know if TrueType's extra features can make the metrics sufficiently nonlinear WRT size to necessitate multiple TFMs.
3. A caveat: I notice that ttftot42 deletes
spaces from face names, whereas my other tools replace them with -
.
This can cause GS to overlook the embedded face.
(2003 Jul 2) I've also noticed ttftot42 sometimes diddles the
encoding, or something—eg in
Gesetz
ö, ü, etc work fine externally but disappear when embedded
(NetBSD pkgs ghostscript-7.05nb1, ttftot42-0.3.1).
4. Georgia is one of the families M$ used to give away, but the only thing M$ does consistently forever is doing nothing else consistently forever. However they had licensed the fonts to be redistributed freely without alteration; the Sourceforge Corefonts Project provides the original files and means for some non-M$ machines to use them. Georgia and others can be found here.