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

Reply via email to