#include "LaTeXFeatures.h"
#include "LyXAction.h"
#include "Lexer.h"
-#include "LyXText.h"
+#include "Text.h"
#include "LyXRC.h"
#include "LyXVC.h"
#include "Messages.h"
namespace {
-int const LYX_FORMAT = 265;
+int const LYX_FORMAT = 268;
} // namespace anon
*/
bool file_fully_loaded;
- /// our LyXText that should be wrapped in an InsetText
+ /// our Text that should be wrapped in an InsetText
InsetText inset;
///
}
-LyXText & Buffer::text() const
+Text & Buffer::text() const
{
- return const_cast<LyXText &>(pimpl_->inset.text_);
+ return const_cast<Text &>(pimpl_->inset.text_);
}
BOOST_ASSERT(paragraphs().empty());
readHeader(lex);
- if (!params().getLyXTextClass().load(filePath())) {
- string theclass = params().getLyXTextClass().name();
+ if (!params().getTextClass().load(filePath())) {
+ string theclass = params().getTextClass().name();
Alert::error(_("Can't load document class"), bformat(
_("Using the default document class, because the "
"class %1$s could not be loaded."), from_utf8(theclass)));
// needed to insert the selection
void Buffer::insertStringAsLines(ParagraphList & pars,
pit_type & pit, pos_type & pos,
- LyXFont const & fn, docstring const & str, bool autobreakrows)
+ Font const & fn, docstring const & str, bool autobreakrows)
{
- LyXFont font = fn;
+ Font font = fn;
// insert the string, don't insert doublespace
bool space_inserted = true;
} // output_preamble
LYXERR(Debug::INFO) << "preamble finished, now the body." << endl;
- if (!lyxrc.language_auto_begin) {
+ if (!lyxrc.language_auto_begin &&
+ !params().language->babel().empty()) {
// FIXME UNICODE
os << from_utf8(subst(lyxrc.language_command_begin,
"$$lang",
texrow().newline();
}
+ Encoding const & encoding = params().encoding();
+ if (encoding.package() == Encoding::CJK) {
+ // Open a CJK environment, since in contrast to the encodings
+ // handled by inputenc the document encoding is not set in
+ // the preamble if it is handled by CJK.sty.
+ os << "\\begin{CJK}{" << from_ascii(encoding.latexName())
+ << "}{}\n";
+ texrow().newline();
+ }
+
// if we are doing a real file with body, even if this is the
// child of some other buffer, let's cut the link here.
// This happens for example if only a child document is printed.
os << endl;
texrow().newline();
- if (!lyxrc.language_auto_end) {
+ if (encoding.package() == Encoding::CJK) {
+ // Close the open CJK environment.
+ // latexParagraphs will have opened one even if the last text
+ // was not CJK.
+ os << "\\end{CJK}\n";
+ texrow().newline();
+ }
+
+ if (!lyxrc.language_auto_end &&
+ !params().language->babel().empty()) {
os << from_utf8(subst(lyxrc.language_command_end,
"$$lang",
params().language->babel()))
bool Buffer::isLatex() const
{
- return params().getLyXTextClass().outputType() == LATEX;
+ return params().getTextClass().outputType() == LATEX;
}
bool Buffer::isLiterate() const
{
- return params().getLyXTextClass().outputType() == LITERATE;
+ return params().getTextClass().outputType() == LITERATE;
}
bool Buffer::isDocBook() const
{
- return params().getLyXTextClass().outputType() == DOCBOOK;
+ return params().getTextClass().outputType() == DOCBOOK;
}
texrow().reset();
- LyXTextClass const & tclass = params().getLyXTextClass();
+ TextClass const & tclass = params().getTextClass();
string const top_element = tclass.latexname();
if (!only_body) {
<< " file was created by LyX " << lyx_version
<< "\n See http://www.lyx.org/ for more information -->\n";
- params().getLyXTextClass().counters().reset();
+ params().getTextClass().counters().reset();
sgml::openTag(os, top);
os << '\n';
void Buffer::validate(LaTeXFeatures & features) const
{
- LyXTextClass const & tclass = params().getLyXTextClass();
+ TextClass const & tclass = params().getTextClass();
if (features.isAvailable("dvipost") && params().outputChanges)
features.require("dvipost");
docstring const Buffer::B_(string const & l10n) const
{
- Language const * lang = pimpl_->params.language;
- if (lang)
- return getMessages(lang->code()).get(l10n);
-
- return _(l10n);
+ return params().B_(l10n);
}