LuaLaTeX 中的 preview.sty 和字体透明度

LuaLaTeX 中的 preview.sty 和字体透明度

使用预览包会删除 LuaLaTeX 中的字体透明度:

\documentclass{article}
\usepackage{luaotfload}
\usepackage[active]{preview}
\begin{document}
\begin{preview}
\font\x="texgyrebonum-bold.otf:color=FF000077" at 24pt\x
ABCDEF\llap{ZYXWUV}
\end{preview}
\end{document}

(删除active预览选项以查看其应有的外观。)

在我自己深入研究细节之前,有什么想法可能导致这种情况吗?

答案1

这似乎是luaotfloadpdf 页面资源处理中的一个错误。

通过删除包,可以进一步简化(并简化)示例preview- 简单\vbox就足够了:

\input luaotfload.sty
\font\x="texgyrebonum-bold.otf:color=FF000077" at 24pt\x
AAA \newbox\y\setbox\y\vbox{AAA}\unvbox\y
\bye

结果是(必须包含透明度规范)的设置pdfpageresources不会传播到 vbox 之外。(不过,我不太明白为什么即使在 vbox 之外也使用了透明字体,却没有透明度。)

在文件末尾附近的pdfpageresoures函数luaotfload-colors.lua中设置。将行color_handler

    tex.pdfpageresources=tpr

    tex.set('global','pdfpageresources',tpr)

似乎解决了这个问题。

相关内容