#include "support/lstrings.h"
-
-namespace lyx {
-
-using support::ascii_lowercase;
-using support::bformat;
-using support::rtrim;
-using support::subst;
-
using std::endl;
using std::string;
using std::ostream;
+using std::pair;
#ifndef CXX_GLOBAL_CSTD
using std::strlen;
#endif
+
+namespace lyx {
+
+using support::ascii_lowercase;
+using support::bformat;
+using support::rtrim;
+using support::subst;
+
//
// Names for the GUI
//
}
if (language()->encoding()->package() == Encoding::CJK) {
- int const c = switchEncoding(os, bparams,
+ pair<bool, int> const c = switchEncoding(os, bparams,
runparams.moving_arg, *(runparams.encoding),
*(language()->encoding()));
- if (c > 0) {
+ if (c.first) {
open_encoding_ = true;
- count += c;
+ count += c.second;
runparams.encoding = language()->encoding();
}
}
// for Hebrew and Farsi (Arabi) do not.
if (number() == ON && prev.number() != ON
&& (language()->lang() == "hebrew"
- || language()->lang() == "farsi")) {
+ || language()->lang() == "farsi"
+ || language()->lang() == "arabic_arabi")) {
os << "{\\beginL ";
count += 9;
}
int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams,
OutputParams const & runparams,
Font const & base,
- Font const & next) const
+ Font const & next,
+ bool const & closeLanguage) const
{
int count = 0;
bool env = false;
// for Hebrew and Farsi (Arabi) do not.
if (number() == ON && next.number() != ON
&& (language()->lang() == "hebrew"
- || language()->lang() == "farsi")) {
+ || language()->lang() == "farsi"
+ || language()->lang() == "arabic_arabi")) {
os << "\\endL}";
count += 6;
}
// We need to close the encoding even if it does not change
// to do correct environment nesting
Encoding const * const ascii = encodings.getFromLyXName("ascii");
- int const c = switchEncoding(os, bparams,
+ pair<bool, int> const c = switchEncoding(os, bparams,
runparams.moving_arg, *(runparams.encoding),
*ascii);
- BOOST_ASSERT(c > 0);
- count += c;
+ BOOST_ASSERT(c.first);
+ count += c.second;
runparams.encoding = ascii;
open_encoding_ = false;
}
- if (language() != base.language() && language() != next.language()) {
+ if (closeLanguage &&
+ language() != base.language() && language() != next.language()) {
os << '}';
++count;
}