From 48a065e89effb4029c779328498f62f751c4b12d Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Thu, 25 Jan 2024 10:17:23 +0100 Subject: [PATCH] Always use utf-8 in scripts with Python3 In order to perform a conversion of graphic format LyX generates a python script containing the path of the original file to convert. While Python2 needs the file in the native encoding of the OS, in Python3 the encoding has to strictly be how announced by the first line of a script, in our case utf-8. --- src/graphics/GraphicsConverter.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/graphics/GraphicsConverter.cpp b/src/graphics/GraphicsConverter.cpp index c97e76663d..669f08d2ff 100644 --- a/src/graphics/GraphicsConverter.cpp +++ b/src/graphics/GraphicsConverter.cpp @@ -136,9 +136,17 @@ Converter::Impl::Impl(Converter const & parent, FileName const & doc_fname, // The conversion commands are stored in a stringstream ostringstream script; - build_script(doc_fname_.absFileName(), from_file.toFilesystemEncoding(), - to_file_.toFilesystemEncoding(), - from_format, to_format, script); + if (os::python_info()[0] == '2') { + build_script(doc_fname_.absFileName(), + from_file.toFilesystemEncoding(), + to_file_.toFilesystemEncoding(), + from_format, to_format, script); + } else { + build_script(doc_fname_.absFileName(), + from_file.absFileName(), + to_file_.absFileName(), + from_format, to_format, script); + } LYXERR(Debug::GRAPHICS, "\tConversion script:" "\n--------------------------------------\n" << script.str() -- 2.39.5