Am Dienstag, 24. Oktober 2006 21:42 schrieb Georg Baum: > Is this changed comment understandable? > > if (change_encoding) { > lyxerr[Debug::LATEX] << "Converting paragraph to encoding " > << language->encoding()->iconvName() << endl; > docstring const par = par_stream.str(); > // Convert the paragraph to the 8bit encoding that we need to > // output. > std::vector<char> const encoded = lyx::from_ucs4(par.c_str(), > par.size(), language->encoding()->iconvName()); > // Interpret this as if it was in the 8 bit encoding of the > // document language and convert it back to UCS4. That means > // that faked does not contain pure UCS4 anymore, but what > // will be written to the output file will be correct, because > // the real output stream will do a UCS4 -> document language > // encoding conversion. > // This is of course a hack, but not a bigger one than mixing > // two encodings in one file. > // FIXME: Catch iconv conversion errors and display an error > // dialog. > std::vector<char_type> const faked = lyx::to_ucs4(encoded.data(), > encoded.size(), doc_language->encoding()->iconvName()); > std::vector<char_type>::const_iterator const end = faked.end(); > std::vector<char_type>::const_iterator it = faked.begin(); > for (; it != end; ++it) > ucs4.put(*it); > } > > If not I have to think more.
I committed this version. If the comment is still not clear please tell. Those who want to have utf8 inputencoding back should please act on the various FIXMEs I added. It is not difficult, but I don't have the time right now. Georg