]> git.lyx.org Git - lyx.git/blobdiff - src/output_plaintext.C
revert recent change to development/FORMAT (don't change history)
[lyx.git] / src / output_plaintext.C
index 3a99a8eb2aba293206d330b3ababc7ac43bdddf7..2327206b9f072a294e96c07cd245104aeec9bda2 100644 (file)
 #include "output.h"
 #include "outputparams.h"
 #include "paragraph.h"
-#include "ParagraphList_fwd.h"
+#include "ParagraphList.h"
 #include "ParagraphParameters.h"
 
 #include "support/lstrings.h"
+#include "support/unicode.h"
 
 #include <fstream>
 
@@ -196,7 +197,7 @@ void asciiParagraph(Buffer const & buf,
        string word;
 
        for (pos_type i = 0; i < par.size(); ++i) {
-               char c = par.getUChar(buf.params(), i);
+               lyx::char_type c = par.getUChar(buf.params(), i);
                switch (c) {
                case Paragraph::META_INSET: {
                        InsetBase const * inset = par.getInset(i);
@@ -232,8 +233,9 @@ void asciiParagraph(Buffer const & buf,
                                "writeAsciiFile: NULL char in structure." << endl;
                        break;
 
-               default:
-                       word += c;
+               default: {
+                       std::vector<char> const tmp = ucs4_to_utf8(c);
+                       word.append(tmp.begin(), tmp.end());
                        if (runparams.linelen > 0 &&
                            currlinelen + word.length() > runparams.linelen)
                        {
@@ -244,6 +246,7 @@ void asciiParagraph(Buffer const & buf,
                        }
                        break;
                }
+               }
        }
        os << word;
 }