From: Enrico Forestieri Date: Thu, 25 Jan 2024 09:17:23 +0000 (+0100) Subject: Always use utf-8 in scripts with Python3 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=48a065e89effb4029c779328498f62f751c4b12d;p=features.git 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. --- 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()