[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug and fix for DVI previewer on the SLUG TeX tape.
There's a bug in the DVI previewer (and hardcopier) as distributed on the SLUG
TeX tape that causes it to infinitely loop when it has to do a font
substitution.
To fix the bug, I suggest editing the file sys:tex;dvi-stream.lisp, finding
the definition of find-font-fast-in-paths, replacing it with this, and then
add the changed definition as a patch to the TeX-DVI system.
(defun-in-flavor (find-font-fast-in-paths dvi-hardcopy-input-filter)
(name fontmag engine-type font-string mag)
(loop for sdir in *font-search-paths*
for dir = (send (fs:parse-pathname sdir) :translated-pathname)
thereis (loop with device-dpis-available = nil
with device-dpis-found = nil
for device-dpi first (device-dpi) then (pop device-dpis-available)
while device-dpi
when engine-type
thereis (font-if-file-exists
font-string
(pxl-font-pathname dir name fontmag device-dpi engine-type)
name
mag)
thereis (font-if-file-exists
font-string
(pxl-font-pathname dir name fontmag device-dpi)
name
mag)
unless device-dpis-found
do (setq device-dpis-available
(device-dpis-in-directory (device-dpis-wildspec dir)))
(setq device-dpis-found t))))