commit 8dd31803b16d1fb6b30772955188c3595437f64a
Author: José Matos <[email protected]>
Date: Tue May 28 16:22:32 2019 +0100
Attempt to fix #11457
In python 3 the colors need to be strings and not bytes:
This was the equivalent of
>> print("%s" % b"1")
"b'1'"
since the colors were bytes the call to dvipng was something like
dvipng -Ttight -depth -height -D 115 -fg "b'rgb 0.937255 0.941176
0.945098'" -bg "b'rgb 0.137255 0.149020 0.160784'" "lyxpreviewxBJEqm.dvi"
Note the "b'rgb after both -fg and -bg that wrecked havoc and thus dvipng
failed. That was the difference between python2 and python3 calls.
---
lib/scripts/lyxpreview2bitmap.py | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/lib/scripts/lyxpreview2bitmap.py b/lib/scripts/lyxpreview2bitmap.py
index e4bf131..ecefdaf 100755
--- a/lib/scripts/lyxpreview2bitmap.py
+++ b/lib/scripts/lyxpreview2bitmap.py
@@ -373,6 +373,7 @@ def main(argv):
dir, latex_file = os.path.split(input_path)
# Echo the settings
+ progress("Running Python %s" % str(sys.version_info[:3]))
progress("Starting %s..." % script_name)
progress("Output format: %s" % output_format)
progress("Foreground color: %s" % fg_color)
@@ -394,6 +395,11 @@ def main(argv):
fg_color_dvipng = make_texcolor(fg_color, False)
bg_color_dvipng = make_texcolor(bg_color, False)
+ # For python > 2 convert bytes to string
+ if not PY2:
+ fg_color_dvipng = fg_color_dvipng.decode('ascii')
+ bg_color_dvipng = bg_color_dvipng.decode('ascii')
+
# External programs used by the script.
latex = find_exe_or_terminate(latex or latex_commands)
bibtex = find_exe(bibtex or bibtex_commands)