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.
This commit is contained in:
José Matos 2019-05-28 16:22:32 +01:00
parent 959ba4a6a0
commit 8dd31803b1

View File

@ -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)