当使用 XeTeX 包含图像时,\XeTeXpicfile
我注意到输出图片的尺寸是错误的。我创建了以下 MWE:
\nopagenumbers
% The TeXbook, p. 311
\def\hidehrule#1#2{\kern-#1%
\hrule height#1 depth#2 \kern-#2 }
\def\hidevrule#1#2{\kern-#1{\dimen0=#1
\advance\dimen0 by#2\vrule width\dimen0}\kern-#2 }
\def\makeblankbox#1#2{\hbox{\lower\dp0\vbox{\hidehrule{#1}{#2}%
\kern-#1 % overlap the rules at the corners
\hbox to \wd0{\hidevrule{#1}{#2}%
\raise\ht0\vbox to #1{}% set the vrule height
\lower\dp0\vtop to #1{}% set the vrule depth
\hfil\hidevrule{#2}{#1}}%
\kern-#1\hidehrule{#2}{#1}}}}
\def\pic#1{\setbox0=\vbox{\XeTeXpicfile #1 width 8cm}
\vbox{\leavevmode\copy0\kern-\wd0\makeblankbox{.25pt}{.25pt}}}
\pic{test-cmyk300.jpg}
\bigskip
\pic{test-cmyk72.jpg}
\bigskip
\pic{test-rgb300.jpg}
\bye
请下载测试-cmyk300.jpg,测试-cmyk72.jpg和测试-rgb300.jpg并观察 XeTeX 的输出。(附注:这是干草车三联画。
您会注意到,即使width 8cm
给出了参数,300 DPI 的 CMYK 图像也会被放大。一种解决方法是将图像分辨率设置为 72 DPI,在这种情况下,尺寸正好合适。使用较低的 DPI 设置,图像也会缩小。RGB 图像不存在此问题。
这是 XeTeX 的一个错误吗?
答案1
这是 XeTeX 的一个错误,已修复。请参阅 http://tug.org/pipermail/xetex/2015-February/025727.html
答案2
经过进一步调查,结果发现这是 xdvipdfmx 中的一个错误,并且固定的,感谢 Akira Kakuto。