rokicki@neon.Stanford.EDU (Tomas G. Rokicki) (03/28/91)
I'm working on a new version of dvips (5.48) for release soon. One of the issues I'm trying to deal with is the automatic accent ligatures in PostScript fonts. Any comments would be appreciated. Currently, when creating the virtual font for a PostScript font, if afm2tfm notices that there is a character named `foo' and another named `Afoo', for any single-character `A' and any `foo', it creates the ligature `A' `foo' -> `Afoo' This gives you pretty ligures, when you use them. For instance, in the current virtual fonts ptmr and pcrr (and others), if you type \catcode`\^=11 ^A you get the normal PostScript Ahat, instead of the accented A created out of two symbols A and ^. Of course, even now, \^A still gives you the constructed symbol. Unfortunately, these ligatures hurt things; whenever the user tries to list the Pascal declaration foo: ^Arecord ; using Courier he actually gets an accented A rather than the two separate `^' and `A' characters. This also happens in the other fonts. What I propose doing is turning off these ligatures (by commenting out the single call to `makeaccentligs()' in afm2tfm). The reasoning is as follows. The virtual fonts currently try and make the PostScript fonts look as close to the standard Computer Modern fonts as possible, while still providing access to the additional characters. The `makeaccentligs()' parameter is actually a step away from Computer Modern, though, in that \catcode`\^=11 {\font\norm=cmr10\norm ^A} gives very different results from \catcode`\^=11 {\font\norm=ptmr\norm ^A} This especially shows up in verbatim environments. The advantage of leaving the makeaccentligs() in there is that it makes it easier and more natural to access the accented characters, when they exist. On the other hand, this last is an international character set problem that has not yet been resolved, and the resolution of the character set problem will probably have a different solution for ^A. Any and all feedback would be appreciated. I am currently in favor of making this change (which would modify all the standard PostScript tfm and vf files), but welcome comments as to why it should be left in. Thank you for your time.