mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
Don't switch encodings when a document wide encoding is specified.
Remove special code for CJK that is no longer required after
we use CJKutf8 document-wide with inputenc "utf8-cjk"
(and "utf8" for languages requiring CJK) (since 7bbf333fa1
).
CJK characters can no longer be used with a document-wide 8-bit encoding.
(Hint: Use utf8-cjk or one of the CJK legacy encodings if your document contains CJK characters.)
This commit is contained in:
parent
9d6b71c6b3
commit
e665715fc4
@ -1418,7 +1418,7 @@ void latexParagraphs(Buffer const & buf,
|
|||||||
&& bparams.language->encoding()->package() == Encoding::CJK)
|
&& bparams.language->encoding()->package() == Encoding::CJK)
|
||||||
// FIXME: should test if any language requires CJK
|
// FIXME: should test if any language requires CJK
|
||||||
// && LaTeXFeatures::mustProvide("CJK"))
|
// && LaTeXFeatures::mustProvide("CJK"))
|
||||||
// error: cannot call member function ‘bool lyx::LaTeXFeatures::mustProvide(const string&) const’ without object
|
// error: cannot call member function ‘bool lyx::LaTeXFeatures::mustProvide(const string&) const’ without object
|
||||||
)) {
|
)) {
|
||||||
docstring const cjkenc = bparams.encoding().iconvName() == "UTF-8"
|
docstring const cjkenc = bparams.encoding().iconvName() == "UTF-8"
|
||||||
? from_ascii("UTF8") : from_ascii(bparams.encoding().latexName());
|
? from_ascii("UTF8") : from_ascii(bparams.encoding().latexName());
|
||||||
@ -1611,14 +1611,7 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
|
|||||||
|
|
||||||
Encoding const & oldEnc = *runparams.encoding;
|
Encoding const & oldEnc = *runparams.encoding;
|
||||||
bool moving_arg = runparams.moving_arg;
|
bool moving_arg = runparams.moving_arg;
|
||||||
// If we switch from/to CJK, we need to switch anyway, despite custom inputenc,
|
if (!force
|
||||||
// except if we use CJKutf8 or explicitely set inputenc to a CJK encoding
|
|
||||||
bool const from_to_cjk =
|
|
||||||
((oldEnc.package() == Encoding::CJK && newEnc.package() != Encoding::CJK)
|
|
||||||
|| (oldEnc.package() != Encoding::CJK && newEnc.package() == Encoding::CJK))
|
|
||||||
&& bparams.encoding().iconvName() != "UTF8"
|
|
||||||
&& bparams.encoding().package() != Encoding::CJK;
|
|
||||||
if (!force && !from_to_cjk
|
|
||||||
&& ((bparams.inputenc != "auto" && bparams.inputenc != "default") || moving_arg))
|
&& ((bparams.inputenc != "auto" && bparams.inputenc != "default") || moving_arg))
|
||||||
return make_pair(false, 0);
|
return make_pair(false, 0);
|
||||||
|
|
||||||
@ -1692,9 +1685,8 @@ pair<bool, int> switchEncoding(odocstream & os, BufferParams const & bparams,
|
|||||||
os << "\\egroup";
|
os << "\\egroup";
|
||||||
count += 7;
|
count += 7;
|
||||||
}
|
}
|
||||||
docstring const cjkenc = (bparams.encoding().iconvName() == "UTF-8"
|
os << "\\begin{CJK}{"
|
||||||
? from_ascii("UTF8") : from_ascii(newEnc.latexName()));
|
<< from_ascii(newEnc.latexName()) << "}{"
|
||||||
os << "\\begin{CJK}{" << cjkenc << "}{"
|
|
||||||
<< from_ascii(bparams.fonts_cjk) << "}";
|
<< from_ascii(bparams.fonts_cjk) << "}";
|
||||||
state->open_encoding_ = CJK;
|
state->open_encoding_ = CJK;
|
||||||
return make_pair(true, count + 15);
|
return make_pair(true, count + 15);
|
||||||
|
Loading…
Reference in New Issue
Block a user