]> git.lyx.org Git - lyx.git/blobdiff - src/Paragraph.cpp
style
[lyx.git] / src / Paragraph.cpp
index 0777a7886273e41b5be604f57e1e75b809b1ebb0..d32c0be2f0ba95d1ddc315f10f4a4ef741c93d11 100644 (file)
@@ -25,7 +25,7 @@
 #include "BufferParams.h"
 #include "Changes.h"
 #include "Counters.h"
-#include "Encoding.h"
+#include "BufferEncodings.h"
 #include "InsetList.h"
 #include "Language.h"
 #include "LaTeXFeatures.h"
@@ -767,7 +767,7 @@ void Paragraph::Private::insertChar(pos_type pos, char_type c,
 
 
 bool Paragraph::insertInset(pos_type pos, Inset * inset,
-                                  Change const & change)
+                                  Font const & font, Change const & change)
 {
        LASSERT(inset, return false);
        LASSERT(pos >= 0 && pos <= size(), return false);
@@ -785,6 +785,7 @@ bool Paragraph::insertInset(pos_type pos, Inset * inset,
 
        // Some insets require run of spell checker
        requestSpellCheck(pos);
+       setFont(pos, font);
        return true;
 }
 
@@ -1301,7 +1302,7 @@ void Paragraph::Private::latexSpecialChar(otexstream & os,
                docstring nextlatex;
                bool nexttipas = false;
                string nexttipashortcut;
-               if (next != '\0' && next != META_INSET) {
+               if (next != '\0' && next != META_INSET && encoding.encodable(next)) {
                        nextlatex = encoding.latexChar(next).first;
                        if (runparams.inIPA) {
                                nexttipashortcut = Encodings::TIPAShortcut(next);
@@ -1449,7 +1450,8 @@ void Paragraph::Private::validate(LaTeXFeatures & features) const
        if (layout_->inpreamble && inset_owner_) {
                bool const is_command = layout_->latextype == LATEX_COMMAND;
                Buffer const & buf = inset_owner_->buffer();
-               BufferParams const & bp = buf.params();
+               BufferParams const & bp = features.runparams().is_child
+                       ? buf.masterParams() : buf.params();
                Font f;
                TexRow texrow;
                // Using a string stream here circumvents the encoding
@@ -1527,7 +1529,7 @@ void Paragraph::Private::validate(LaTeXFeatures & features) const
                                break;
                        }
                }
-               Encodings::validate(text_[i], features);
+               BufferEncodings::validate(text_[i], features);
        }
 }
 
@@ -1782,16 +1784,6 @@ void Paragraph::insertChar(pos_type pos, char_type c,
 }
 
 
-bool Paragraph::insertInset(pos_type pos, Inset * inset,
-                           Font const & font, Change const & change)
-{
-       bool const success = insertInset(pos, inset, change);
-       // Set the font/language of the inset...
-       setFont(pos, font);
-       return success;
-}
-
-
 void Paragraph::resetFonts(Font const & font)
 {
        d->fontlist_.clear();
@@ -3589,8 +3581,7 @@ int Paragraph::fixBiblio(Buffer const & buffer)
                // these, which there should be.
                // FIXME: why does it make sense to do that rather
                // than keep the first? (JMarc)
-               Inset * inset = d->insetlist_.release(bibitem_pos);
-               eraseChar(bibitem_pos, track_changes);
+               Inset * inset = releaseInset(bibitem_pos);
                d->insetlist_.begin()->inset = inset;
                return -bibitem_pos;
        }