[tex-k] (fwd) Bug#277499: tetex-bin: xdvi and dvips mis-parse font
hille42 at web.de
Fri Oct 22 12:42:58 CEST 2004
here down in the Debian Bug Tracking System we've got a bug report
about dvips not correctly handling map files. xdvi seemed to have had
the same bug and seemed to have it already fixed. I could neither
find something about that in the Changelog of dvips as of 2004-05-10
from latest tetex-beta nor a BTS for dvips.
Thanks for response.
----- Forwarded message from Ben Harris <bjh21 at bjh21.me.uk> -----
From: Ben Harris <bjh21 at bjh21.me.uk>
Reply-To: Ben Harris <bjh21 at bjh21.me.uk>, 277499 at bugs.debian.org
To: Debian Bug Tracking System <submit at bugs.debian.org>
Subject: Bug#277499: tetex-bin: xdvi and dvips mis-parse font map files
Date: Wed, 20 Oct 2004 14:23:38 +0100
Message-Id: <E1CKGRG-000325-00 at wraith.csi.cam.ac.uk>
X-Mailer: reportbug 2.63
X-Mailing-List: <debian-tetex-maint at lists.debian.org> archive/latest/9606
Both dvips and xdvi parse TeX-to-PostScript font map files incorrectly.
Given a line like this:
myfont MyFont-PS <[myfont.enc <MyFont-PS.pfb
both of them fail to find the font file, and treat
"MyFont-PS.pfb" as an encoding. This doesn't seriously break
dvips (since it just emits both files into its output), but does break
xdvi's Type 1 rendering.
Demonstrating this problem properly is difficult, but as an example,
populate ~/texmf as follows:
mkdir -p ~/texmf/web2c
cp /var/lib/texmf/web2c/updmap.cfg ~/texmf/web2c
mkdir -p ~/texmf/dvips/config
echo "myfont MyFont-PS <[myfont.enc <MyFont-PS.pfb" \
updmap --enable Map myfont.map
Now, run xdvi on some random dvi file with some debugging:
xdvi -debug 196608 /usr/share/doc/texmf/latex/base/usrguide.dvi.gz \
grep myfont xdvi.log
This gives output like:
dvi-draw.c:4382: T1: /home/bjh21/texmf/dvips/config/ps2pk.map:467: myfont -> (null) Enc: MyFont-PS.pfb Spec: <none>
Obviously, that should read "... -> MyFont-PS.pfb Enc: myfont.enc ...".
The bug appears to lie in the getpsinfo() function in texk/xdvik/dvips.c,
which has a variable called "encoding_p" which is supposed to indicate
whether the current word was tagged as an encoding file (by being preceded
by "<[". Unfortunately, it doesn't get cleared at the end of each word,
only at the end of the line, so all files after one tagged with "<["
are treated as encodings, including the font file in the example above.
The equivalent function in texk/dvipsk/resident.c is rather different,
but has precisely the same bug.
I'm sorry this bug report is so incoherent. Please tell me if there's
something I haven't adequately explained.
To UNSUBSCRIBE, email to debian-tetex-maint-REQUEST at lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster at lists.debian.org
----- End forwarded message -----
More information about the tex-k