mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Load ucs before utf8x inputenc with recent ucs versions
Otherwise inputenc falls back to utf8 option, which breaks documents
This commit is contained in:
parent
f6fff878a7
commit
e6b93f7489
@ -591,6 +591,9 @@
|
||||
% With this version, hyperref option unicode is true
|
||||
% by default
|
||||
\TestPackageVersion{hyperref}{2021/02/04}
|
||||
% As of this version, the ucs package must be explicitly
|
||||
% loaded to get utf8x (rather than utf8) encoding tables
|
||||
\TestPackageVersion{ucs}{2022/08/07}
|
||||
|
||||
%%% Document classes
|
||||
% The list of layout files has been put in this file here by the
|
||||
|
@ -3440,8 +3440,20 @@ void BufferParams::writeEncodingPreamble(otexstream & os,
|
||||
if (features.isRequired("japanese")
|
||||
|| features.isProvided("inputenc"))
|
||||
break;
|
||||
os << "\\usepackage[" << from_ascii(encoding().latexName());
|
||||
if (features.runparams().flavor == Flavor::LuaTeX
|
||||
string const doc_encoding = encoding().latexName();
|
||||
// The 2022 release of ucs.sty uses the default utf8
|
||||
// inputenc encoding with 'utf8x' inputenc if the ucs
|
||||
// package is not loaded before inputenc.
|
||||
// This breaks existing documents that use utf8x
|
||||
// and also makes utf8x redundant.
|
||||
// Thus we load ucs.sty in order to keep functionality
|
||||
// that would otherwise be silently dropped.
|
||||
if (doc_encoding == "utf8x"
|
||||
&& features.isAvailable("ucs-2022/08/07")
|
||||
&& !features.isProvided("ucs"))
|
||||
os << "\\usepackage{ucs}\n";
|
||||
os << "\\usepackage[" << from_ascii(doc_encoding);
|
||||
if (features.runparams().flavor == Flavor::LuaTeX
|
||||
|| features.runparams().flavor == Flavor::DviLuaTeX)
|
||||
os << "]{luainputenc}\n";
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user