missing background in xetex and fix RTL stuff in preview

* previwes with xetex did not produce any background (\pagecolor does not work for some reason), adding the direct command for that, \special{background <color>} inside the preview box solved it.

* similar to #12923 we should push the color node in horizontal mode

* there is a bug in preview with LuaTeX with main RTL language, this commit fix this bug, but it should be removed when it is fixed upstream (the code related to \pr@set@pagerightoffset)

(cherry picked from commit 64aad586f4)
This commit is contained in:
Udi-Fogiel 2024-06-09 13:36:35 +03:00 committed by Udi Fogiel
parent 03870c0370
commit 7dcf9611d2
2 changed files with 17 additions and 11 deletions

View File

@ -251,21 +251,27 @@ def legacy_latex_file(latex_file, fg_color, bg_color):
\\definecolor{lyxfg}{rgb}{%s} \\definecolor{lyxfg}{rgb}{%s}
\\definecolor{lyxbg}{rgb}{%s} \\definecolor{lyxbg}{rgb}{%s}
\\pagecolor{lyxbg} \\pagecolor{lyxbg}
\\usepackage[%s,tightpage]{preview}
\\usepackage{ifthen}
\\makeatletter \\makeatletter
\\ifthenelse{\\equal{\\f@family}{cmr}}{ \\def\\@tempa{cmr}
\\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}}{} \\ifx\\f@family\\@tempa
\\g@addto@macro\\preview{\\begingroup\\color{lyxbg}\\special{ps::clippath fill}\\color{lyxfg}} \\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}
\\g@addto@macro\\endpreview{\\endgroup} \\fi
\\makeatother """ % (fg_color_gr, bg_color_gr))
""" % (fg_color_gr, bg_color_gr, previewopts)) tmp.write(b"""
else:
tmp.write(b"""
\\usepackage[%s,tightpage]{preview} \\usepackage[%s,tightpage]{preview}
\\makeatletter \\makeatletter
\\g@addto@macro\\preview{\\begingroup\\color{lyxbg}\\special{ps::clippath fill}\\color{lyxfg}} \\g@addto@macro\\preview{\\leavevmode\\begingroup\\color{lyxbg}\\special{background \\current@color}\\special{ps::clippath fill}\\color{lyxfg}}
\\g@addto@macro\\endpreview{\\endgroup} \\g@addto@macro\\endpreview{\\endgroup}
\\let\\pr@set@pagerightoffset\\@empty
\\ifx\\pagerightoffset\\@undefined\\else
\\def\\pr@set@pagerightoffset{\\ifnum\\pagedirection=1
\\pagerightoffset=-1in
\\advance\\pagerightoffset-\\pr@bb@i
\\advance\\pagerightoffset\\pr@bb@iii
\\fi
}
\\fi
\\g@addto@macro\\pr@ship@end{\\pr@set@pagerightoffset}
\\makeatother \\makeatother
""" % previewopts) """ % previewopts)
if success: if success:

0
texput.log Normal file
View File