Strip polyglossia options from pdf string

Fixes #11813
This commit is contained in:
Juergen Spitzmueller 2020-04-05 15:23:22 +02:00
parent 35727f9d77
commit f9999039ac
4 changed files with 13 additions and 2 deletions

View File

@ -1858,6 +1858,7 @@ Buffer::ExportStatus Buffer::writeLaTeXSource(otexstream & os,
// This is only set once per document (in master)
if (!runparams.is_child) {
runparams.use_polyglossia = features.usePolyglossia();
runparams.use_hyperref = features.isRequired("hyperref");
runparams.use_CJK = features.mustProvide("CJK");
}
LYXERR(Debug::LATEX, " Buffer validation done.");
@ -4108,6 +4109,7 @@ unique_ptr<TexRow> Buffer::getSourceCode(odocstream & os, string const & format,
LaTeXFeatures features(*this, params(), runparams);
validate(features);
runparams.use_polyglossia = features.usePolyglossia();
runparams.use_hyperref = features.isRequired("hyperref");
// latex or literate
otexstream ots(os);
// output above

View File

@ -228,8 +228,13 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams,
&& language() != prev.language()) {
if (!language()->polyglossia().empty()) {
string tmp = "\\text" + language()->polyglossia();
if (!language()->polyglossiaOpts().empty())
if (!language()->polyglossiaOpts().empty()) {
tmp += "[" + language()->polyglossiaOpts() + "]";
if (runparams.use_hyperref && runparams.moving_arg)
// We need to strip the command for
// the pdf string, see #11813
tmp = "\\texorpdfstring{" + tmp + "}{}";
}
tmp += "{";
os << from_ascii(tmp);
count += tmp.length();

View File

@ -22,7 +22,7 @@ OutputParams::OutputParams(Encoding const * enc)
: flavor(LATEX), math_flavor(NotApplicable), nice(false), is_child(false),
moving_arg(false), intitle(false), inbranch(false), inulemcmd(0),
local_font(0),master_language(0), encoding(enc), free_spacing(false),
use_babel(false), use_polyglossia(false), use_CJK(false),
use_babel(false), use_polyglossia(false), use_hyperref(false), use_CJK(false),
use_indices(false), use_japanese(false), linelen(0), depth(0),
exportdata(new ExportData), postpone_fragile_stuff(false), inDisplayMath(false),
wasDisplayMath(false), inComment(false), openbtUnit(false), only_childbibs(false),

View File

@ -177,6 +177,10 @@ public:
*/
bool use_polyglossia;
/** Do we use hyperref?
*/
bool use_hyperref;
/// Do we use the CJK package?
bool use_CJK;