[tex-k] Plain text PFA files in dvipsk
kahl@heraklit.informatik.unibw-muenchen.de
kahl@heraklit.informatik.unibw-muenchen.de
18 Apr 2001 12:50:48 -0000
Hello all,
I am just writing my first PostScript font,
and after installing it into the TeX/dvips machinery,
dvips complained:
This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
' TeX output 2001.04.17:1601' -> RelSymbDoc.ps
<texc.pro><texps.pro>. <RelSymb.pfa>This is DVIPS, t1part module
Error: RelSymb.pfa is not a valid PFA file
However, xdvi could use it, so I looked at the source.
Unfortunately, the latest I could find on DANTE was dvipsk-5.78a,
so I patched that --- the problem was that PartialPFA expected
ALWAYS a ``currentfile eexec'', and would return FALSE
for plain ASCII PFA files.
Therefore, I just had to add a few lines to fix this,
see patch below (diff -c -r dvipsk-5.78a dvipsk-5.78b).
Could this be integrated into the distribution, please?
(And where does the latest distribution reside, if not on CTAN,
of which DANTE ([www|ftp].dante.de) is supposed to be part?)
Best regards,
Wolfram Kahl
======== dvipsk-5.78a_to_5.78b.patch ==================================
diff -c -r dvipsk-5.78a/dvipsk/ChangeLog dvipsk-5.78b/dvipsk/ChangeLog
*** dvipsk-5.78a/dvipsk/ChangeLog Mon Mar 9 11:33:19 1998
--- dvipsk-5.78b/dvipsk/ChangeLog Wed Apr 18 14:42:41 2001
***************
*** 1,3 ****
--- 1,8 ----
+ Wed Apr 18 14:33:10 2001 Wolfram Kahl <kahl@informatik.unibw-muenchen.de>
+
+ * t1part.c: plain text PFA files (no ``currentfile eexec'')
+ are now accepted.
+
Mon Mar 9 10:31:44 1998 Sebastian Rahtz <s.rahtz@elsevier.co.uk>
* clean reencoding/asex.enc; small fix to copyright year (from
diff -c -r dvipsk-5.78a/dvipsk/t1part.c dvipsk-5.78b/dvipsk/t1part.c
*** dvipsk-5.78a/dvipsk/t1part.c Wed Feb 25 11:58:46 1998
--- dvipsk-5.78b/dvipsk/t1part.c Wed Apr 18 14:42:15 2001
***************
*** 2025,2031 ****
break;
switch (type)
{
! case FLG_ASCII:
if(strstr(buf,"currentfile eexec") != NULL)
{
type=FLG_BINARY;
--- 2025,2031 ----
break;
switch (type)
{
! Case FLG_ASCII:
if(strstr(buf,"currentfile eexec") != NULL)
{
type=FLG_BINARY;
***************
*** 2100,2109 ****
--- 2100,2124 ----
break;
}
}
+ /*
+ * This original distinction prohibits PFA files
+ * without ``currentfile eexec''!
if(type == FLG_ZERO_LINE)
return TRUE;
else return FALSE;
+ */
+ if(type == FLG_ZERO_LINE)
+ return TRUE;
+ else if(type == FLG_ASCII)
+ {
+ tmpline=mem;
+ CheckChoosing();
+ check_vect=1;
+ return TRUE;
+ }
+ else return FALSE;
}
+
#define FIRST_ASCII 1
#define FIRST_BINARY 2