&& 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();
if (closeLanguage
&& language() != base.language() && language() != next.language()
- && (language()->encoding()->package() != Encoding::CJK
- || bparams.useNonTeXFonts)) {
+ && (language()->encoding()->package() != Encoding::CJK)) {
os << '}';
++count;
bool const using_begin_end =
ostream & operator<<(ostream & os, Font const & font)
{
return os << font.bits_
- << " lang: " << (font.lang_ ? font.lang_->lang() : 0);
+ << " lang: " << (font.lang_ ? font.lang_->lang() : nullptr);
}