[tex-k] dvips 5.92b: Missing "LIGKERN"s

npat at pink.priv.inaccessnetworks.com npat at pink.priv.inaccessnetworks.com
Thu Jun 26 05:22:16 CEST 2003


On Wed, Jun 25, 2003 at 03:22:47PM -0700, Tomas G. Rokicki wrote:
>
> almost certainly not before July 11th, approximately.
>

That's fine with me! No real rush.
 
> How critical is this?  If it's impacting a common, widely distributed
> font, that makes it pretty important.  If it's just preventing a
> particular document from printing properly, there may be a workaround.
> Is it okay if this bug remains for a few weeks?

I show this problem when trying to prepare a series of TrueType fonts
for use with TeX (after converting it to a Type-1 font). I managed to
get arround the bug by never encoding the same glyph twice, at least
not when the glyph is referenced in a LIGKERN. In my case is not too
much of a trouble.

Another thing that bit me much harder, is the fact that afm2tfm
silently drops all LIGs, when it is processing a fixed-width font. I
understand the reasons for that, but in my case (I'm a native Greek
speaker) we heavily use ligatures for accenting (we have precomposed
accented characters), so even in a fixed-width font we *do* need
several ligatures. Therefore I made the following trivial patch to
"afmtotfm" which you might consider for inclusion in the next version
(or something along these lines, anyway):

--- afm2tfm.c.orig	Fri Jan 31 20:07:28 2003
+++ afm2tfm.c	Wed Jun 25 20:17:40 2003
@@ -1,3 +1,4 @@
+
 /*
  *   This program converts AFM files to TeX TFM files, and optionally
  *   to TeX VPL files that retain all kerning and ligature information.
@@ -222,6 +223,7 @@
 char fixedpitch ;
 char makevpl ;
 char pedantic ;
+char ligsinfixed ;
 int xheight = 400 ;
 int fontspace ;
 int bc, ec ;
@@ -1505,6 +1507,7 @@
 -t ENCFILE          read ENCFILE for the encoding of the vpl file\n\
 -T ENCFILE          equivalent to -p ENCFILE -t ENCFILE\n\
 -u                  output only characters from encodings, nothing extra\n\
+-f                  keep ligatures even when processing a fixed-width font\n\
 -v FILE[.vpl]       make a VPL file for conversion to VF\n\
 -V SCFILE[.vpl]     like -v, but synthesize smallcaps as lowercase\n\
 --help              print this message and exit.\n\
@@ -1526,7 +1529,7 @@
    (void)fprintf(f,
  "afm2tfm 8.1, Copyright 1990-97 by Radical Eye Software\n") ;
    (void)fprintf(f,
- "Usage: afm2tfm foo[.afm] [-O] [-u] [-v|-V bar[.vpl]]\n") ;
+ "Usage: afm2tfm foo[.afm] [-O] [-u] [-f] [-v|-V bar[.vpl]]\n") ;
    (void)fprintf(f,
  "                 [-e expansion] [-s slant] [-c capheight]\n") ;
    (void)fprintf(f,
@@ -1647,6 +1650,10 @@
          pedantic = 1 ;
          arginc = 1 ;
          break ;
+case 'f':
+         ligsinfixed = 1 ;
+         arginc = 1 ;
+         break ;
 default: (void)fprintf(stderr, "Unknown option %s %s will be ignored.\n",
                          argv[2], argv[3]) ;
       }
@@ -1845,7 +1852,7 @@
                   rmkern(mlist[0], mlist[1], ai) ;
                if (strcmp(mlist[3], "||") == 0)
                   error("! you can't lig to the boundary character!") ;
-               if (! fixedpitch) { /* fixed pitch fonts get *0* ligs */
+               if (! fixedpitch || ligsinfixed ) { /* fixed pitch fonts get *0* ligs */
                   for (lig=ai->ligs; lig; lig = lig->next)
                      if (strcmp(lig->succ, mlist[1]) == 0)
                         break ; /* we'll re-use this structure */


Thanks
/npat

-- 
Any setuid root program that does an exec() somewhere is just a less
user friendly version of su.
  -- Olaf Kirch


More information about the tex-k mailing list