]> git.lyx.org Git - lyx.git/commitdiff
missing background in xetex and fix RTL stuff in preview
authorUdi-Fogiel <udifoglle@gmail.com>
Sun, 9 Jun 2024 10:36:35 +0000 (13:36 +0300)
committerUdi Fogiel <ufogiel@lyx.org>
Sun, 9 Jun 2024 18:18:22 +0000 (21:18 +0300)
* 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 64aad586f49b9047082356e5f217fc6147ac9500)

lib/scripts/legacy_lyxpreview2ppm.py
texput.log [new file with mode: 0644]

index 77a621b39ac8105591a049df12ed5542572d8508..78034416365cc6e63ecdfc01c120ca715cc78616 100644 (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:
-            tmp.write(b"""
+\\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:
diff --git a/texput.log b/texput.log
new file mode 100644 (file)
index 0000000..e69de29