&& language() != prev.language()) {
if (!language()->polyglossia().empty()) {
string tmp;
- if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- tmp += "\\begingroup\\catcode`\\^=7";
+ if (needs_cprotection)
tmp += "\\cprotect";
- }
tmp += "\\text" + language()->polyglossia();
if (!language()->polyglossiaOpts().empty()) {
tmp += "[" + language()->polyglossiaOpts() + "]";
// We need to strip the command for
// the pdf string, see #11813
string tmpp;
- if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
+ if (needs_cprotection)
tmpp = "\\cprotect";
- }
tmp = tmpp + "\\texorpdfstring{" + tmp + "}{}";
}
}
language() != prev.language()) {
if (language()->lang() == "farsi") {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
} else if (!isRightToLeft() &&
base.language()->lang() == "farsi") {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
count += 8;
} else if (language()->lang() == "arabic_arabi") {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
} else if (!isRightToLeft() &&
base.language()->lang() == "arabic_arabi") {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
// currently the remaining RTL languages are arabic_arabtex and hebrew
} else if (isRightToLeft() != prev.isRightToLeft()) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
subst(lyxrc.language_command_local,
"$$lang", language()->babel());
if (needs_cprotection && !prefixIs(tmp, "\\begin{")) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
count += strlen(LaTeXFamilySwitchNames[f.family()]) + 1;
} else {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
count += strlen(LaTeXSeriesSwitchNames[f.series()]) + 1;
} else {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
count += strlen(LaTeXShapeSwitchNames[f.shape()]) + 1;
} else {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
++count;
} else if (f.color() != Color_none) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
}
if (f.emph() == FONT_ON) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
// \noun{} is a LyX special macro
if (f.noun() == FONT_ON) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
// which prevents linebreaks (#8424, #8733)
if (f.underbar() == FONT_ON) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
}
if (f.uuline() == FONT_ON) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
}
if (f.strikeout() == FONT_ON) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
}
if (f.xout() == FONT_ON) {
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}
count += 15;
}
if (needs_cprotection) {
- if (contains(runparams.active_chars, '^'))
- // cprotect relies on ^ being on catcode 7
- os << "\\begingroup\\catcode`\\^=7";
os << "\\cprotect";
count += 9;
}