]> git.lyx.org Git - features.git/commitdiff
Improve verbatim for RTL
authorMartin Vermeer <martin.vermeer@hut.fi>
Tue, 23 Oct 2007 18:23:03 +0000 (18:23 +0000)
committerMartin Vermeer <martin.vermeer@hut.fi>
Tue, 23 Oct 2007 18:23:03 +0000 (18:23 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21153 a592a061-630c-0410-9148-cb99ea01b6c8

src/Paragraph.cpp
src/output_latex.cpp

index ee39e6a5181ef7b20c2b1e6338649694b6866039..fa8bb4140b6b53f786cfb97dd09f5b814b139687 100644 (file)
@@ -1957,8 +1957,9 @@ bool Paragraph::latex(Buffer const & buf,
                        open_font = false;
                }
 
-               // Switch file encoding if necessary
-               if (runparams.encoding->package() == Encoding::inputenc &&
+               // Switch file encoding if necessary (and allowed)
+               if (!runparams.verbatim && 
+                   runparams.encoding->package() == Encoding::inputenc &&
                    font.language()->encoding()->package() == Encoding::inputenc) {
                        std::pair<bool, int> const enc_switch = switchEncoding(os, bparams,
                                        runparams.moving_arg, *(runparams.encoding),
index bf04a243c35e73af5ccdd1e063dbdf791a444859..92c1ca77d54d3e087f9bf9a30ea81f0a99f074ed 100644 (file)
@@ -253,6 +253,18 @@ TeXOnePar(Buffer const & buf,
        BufferParams const & bparams = buf.params();
        LayoutPtr style;
 
+       if (runparams_in.verbatim) {
+               Font const outerfont =
+                       outerFont(std::distance(paragraphs.begin(), pit),
+                                 paragraphs);
+               // FIXME UNICODE
+               bool need_par = pit->latex(buf, bparams, outerfont,
+                                            os, texrow, runparams_in);
+               os << '\n';
+               texrow.newline();
+               return ++pit;
+       }
+
        // In an inset with unlimited length (all in one row),
        // force layout to default
        if (!pit->forceDefaultParagraphs())
@@ -558,7 +570,7 @@ TeXOnePar(Buffer const & buf,
        if (closing_rtl_ltr_environment)
                os << "}";
 
-       if (pending_newline && !runparams.verbatim) {
+       if (pending_newline) {
                os << '\n';
                texrow.newline();
        }