dvipdfmx + xelatex 的图像缓存在某些路径上中断了吗?

dvipdfmx + xelatex 的图像缓存在某些路径上中断了吗?

最近,我从使用 MiKTeX 改为使用 TeX Live,以便更轻松地在网络中的 PC 之间共享设置。大多数设置都运行良好,但在尝试迁移设置时,dvipdfmx我遇到了一些奇怪的图像缓存问题。

I 120在文件中有一个指令,dvipdfmx.cfg用于保存 GhostScript 从 eps 文件生成的 pdf。这曾经工作正常,现在在大多数情况下仍然工作正常,但有些图像似乎会导致构建失败。这会导致在日志中xelatex报告Error -1073741819 (driver return code) generating output;(在第二次和后续运行中,当使用缓存时)。

xelatex通过先运行生成dvi文件,然后手动创建 pdf,缩小范围后dvipdfmx,我发现dvipdfmx似乎崩溃了,但只在一小部分路径上。我还没有找到哪些路径似乎崩溃的明确原因。

平均能量损失

\documentclass{article}

\usepackage{graphicx}

\begin{document}
    
    \includegraphics{test_test}
    
\end{document}

似乎也失败了的路径:

  • C:/Users/<User>/Documents/test_test

我尝试过的与缓存配合良好的路径:

  • 相对路径test, test__, test___,test_test_test
  • C:/LaTeX/test_test
  • C:/Users/<User>/Documents/test
  • C:/Users/<User>/Documents/testtesttest
  • C:/Windows/some_really_really_really_really_really_really_really_really_long_file_name

输出

xelatex tex > dvi:

>> xelatex -no-pdf "simple".tex
This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xelatex)
 restricted \write18 enabled.
entering extended mode
(./simple.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-05-04>
(//servername/latex/texlive/2022/texmf-dist/tex/latex/base/article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(//servername/latex/texlive/2022/texmf-dist/tex/latex/base/size10.clo))
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/graphicx.sty
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/keyval.sty)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/graphics.sty
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics/trig.sty)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/graphics-def/xetex.def)))
(//servername/latex/texlive/2022/texmf-dist/tex/latex/l3backend/l3backend-xetex.d
ef) (./simple.aux)
(//servername/latex/texlive/2022/texmf-dist/tex/latex/base/ts1cmr.fd)
Overfull \hbox (185.92749pt too wide) in paragraph at lines 7--8
[][]
[1] (./simple.aux) )
(see the transcript file for additional information)
Output written on simple.xdv (1 page, 512 bytes).
Transcript written on simple.log.

dvipdfmx dvi > pdf(第一次运行):

>> dvipdfmx -vv -o simple.pdf simple.xdv
DVI Comment:  XeTeX output 2022.05.20:1649
simple.xdv -> simple.pdf
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1(Image:test_test.eps[./test_test.eps][UNKNOWN]
pdf_image>> Converting file "./test_test.eps" --> "C:/Users/<User>/AppData/Local/Temp/dvipdfm-x.45ecbe5f03d4fb86cdf0de8b3107c654" via:
pdf_image>>   rungs -q -dPDFSETTINGS=/prepress -dEmbedAllFonts=true -dSAFER -dNOPAUSE -dBATCH -dEPSCrop -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dAutoRotatePages=/None -sOutputFile='%o' '%i' -c quit
pdf_image>> ...,Page:1)<//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/[email protected]<NATIVE-FONTMAP://servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf/0/H/65536/0/0>
fontmap: //servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf/0/H/65536/0/0 -> //servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf(Identity-H)
(CID:LMRoman10-Regular)
pdf_font>> Type0 font "//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf" cmap_id=<Identity-H,0> font_id=<//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf/0/H/65536/0/0,1>.
>][Type0]
otf_cmap>> Creating ToUnicode CMap for "//servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf"...
://servername/latex/texlive/2022/texmf-dist/fonts/opentype/public/lm/lmroman10-regular.otf[LMRoman10-Regular][CIDFontType0][2 glyphs][553 bytes]
Compression saved 16271 bytes
20959 bytes written

dvipdfmx dvi > pdf(第二次运行尝试使用缓存,崩溃):

>> dvipdfmx -vv -o simple.pdf simple.xdv
DVI Comment:  XeTeX output 2022.05.20:1649
simple.xdv -> simple.pdf
<AGL:texglyphlist.txt><AGL:pdfglyphlist.txt><AGL:glyphlist.txt>[1(Image:test_test.eps[./test_test.eps][UNKNOWN]

版本信息:

>>xelatex --version
XeTeX 3.141592653-2.6-0.999994 (TeX Live 2022)
kpathsea version 6.3.4
Copyright 2022 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 70.1; using 70.1
Compiled with zlib version 1.2.11; using 1.2.11
Compiled with FreeType2 version 2.11.1; using 2.11.1
Compiled with Graphite2 version 1.3.14; using 1.3.14
Compiled with HarfBuzz version 3.4.0; using 3.4.0
Compiled with libpng version 1.6.37; using 1.6.37
Compiled with pplib version v2.05 less toxic i hope
Compiled with fontconfig version 2.13.96; using 2.13.96

>>dvipdfmx --version
This is dvipdfmx Version 20211117 by the DVIPDFMx project team,
modified for TeX Live,
an extended version of dvipdfm-0.13.2c developed by Mark A. Wicks.

Copyright (C) 2002-2021 the DVIPDFMx project team
Copyright (C) 2006-2021 SIL International.

This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

>> systeminfo
...
OS Name:                   Microsoft Windows 11 Home
OS Version:                10.0.22000 N/A Build 22000
...

问题

有谁知道可能的原因吗?有没有什么方法可以解决这个问题?我有点搞不清楚哪些文件会受到影响,我该如何解决这个问题,或者这是否是某种错误。

更新 2022/06/07:问题似乎仅限于 Windows 11 机器。

答案1

似乎是 dvipdfmx 源代码中的一个错误,最近已解决。

也可以看看https://tug.org/pipermail/dvipdfmx/2022-June/000342.htmlhttps://www.tug.org/svn/texlive?view=revision&revision=63566

相关内容