X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FParagraph.cpp;h=4282defa4a8fc5fed58bd71507138b012a8a6537;hb=a4d9315bc49445e4419b3b59fd238a13c5f7be31;hp=696f5030ee4bc16d6e0e65655ac58758b9acecf9;hpb=1aa890629bb35ccfc85178f1dbcf5f39bb6519d9;p=lyx.git diff --git a/src/Paragraph.cpp b/src/Paragraph.cpp index 696f5030ee..4282defa4a 100644 --- a/src/Paragraph.cpp +++ b/src/Paragraph.cpp @@ -3150,8 +3150,9 @@ void Paragraph::latex(BufferParams const & bparams, } } } else if (i >= start_pos && (end_pos == -1 || i < end_pos)) { - if (!bparams.useNonTeXFonts) - script = Encodings::isKnownScriptChar(c); + if (!bparams.useNonTeXFonts && !runparams.pass_thru + && !contains(runparams.pass_thru_chars, c)) + script = Encodings::isKnownScriptChar(c); if (script != alien_script) { if (!alien_script.empty()) { os << "}"; @@ -4283,9 +4284,10 @@ bool Paragraph::isHardHyphenOrApostrophe(pos_type pos) const bool Paragraph::needsCProtection(bool const fragile) const { // first check the layout of the paragraph, but only in insets + // and not in tables InsetText const * textinset = inInset().asInsetText(); bool const maintext = textinset - ? textinset->text().isMainText() + ? textinset->text().isMainText() || inInset().lyxCode() == CELL_CODE : false; if (!maintext && layout().needcprotect) { @@ -4423,7 +4425,7 @@ docstring Paragraph::asString(pos_type beg, pos_type end, int options, const Out else if (c == META_INSET && (options & AS_STR_INSETS)) { if (c == META_INSET && (options & AS_STR_PLAINTEXT)) { LASSERT(runparams != nullptr, return docstring()); - if (runparams->find_effective() && getInset(i)->hasToString()) + if (runparams->find_effective() && getInset(i)->findUsesToString()) getInset(i)->toString(os); else getInset(i)->plaintext(os, *runparams);