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)
This commit is contained in:
Udi-Fogiel 2024-06-09 13:36:35 +03:00
parent 2a9648fc4c
commit 64aad586f4
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{lyxbg}{rgb}{%s}
\\pagecolor{lyxbg}
\\usepackage[%s,tightpage]{preview}
\\usepackage{ifthen}
\\makeatletter
\\ifthenelse{\\equal{\\f@family}{cmr}}{
\\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}}{}
\\g@addto@macro\\preview{\\begingroup\\color{lyxbg}\\special{ps::clippath fill}\\color{lyxfg}}
\\g@addto@macro\\endpreview{\\endgroup}
\\makeatother
""" % (fg_color_gr, bg_color_gr, previewopts))
else:
\\def\\@tempa{cmr}
\\ifx\\f@family\\@tempa
\\IfFileExists{lmodern.sty}{\\usepackage{lmodern}}{\\usepackage{ae,aecompl}}
\\fi
""" % (fg_color_gr, bg_color_gr))
tmp.write(b"""
\\usepackage[%s,tightpage]{preview}
\\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}
\\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
""" % previewopts)
if success:

0
texput.log Normal file
View File