]> git.lyx.org Git - lyx.git/blobdiff - src/Font.cpp
updated list of LyX translations
[lyx.git] / src / Font.cpp
index 78b79ed8c2faf12f77c8d3a060e9cec779995611..ea1b8c17a37ca14c4ad873c7dfc2ca15f69842ac 100644 (file)
@@ -40,6 +40,7 @@ using support::subst;
 using std::endl;
 using std::string;
 using std::ostream;
+using std::pair;
 
 #ifndef CXX_GLOBAL_CSTD
 using std::strlen;
@@ -756,6 +757,14 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams,
                            base.language()->lang() == "farsi") {
                        os << "\\textLR{";
                        count += 8;
+               } else if (language()->lang() == "arabic_arabi") {
+                       os << "\\textAR{";
+                       count += 8;
+               } else if (!isRightToLeft() &&
+                               base.language()->lang() == "arabic_arabi") {
+                       os << "\\textLR{";
+                       count += 8;
+               // currently the remaining RTL languages are arabic_arabtex and hebrew
                } else if (isRightToLeft() != prev.isRightToLeft()) {
                        if (isRightToLeft()) {
                                os << "\\R{";
@@ -777,12 +786,12 @@ int Font::latexWriteStartChanges(odocstream & os, BufferParams const & bparams,
        }
 
        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();
                }
        }
@@ -935,11 +944,11 @@ int Font::latexWriteEndChanges(odocstream & os, BufferParams const & bparams,
                // 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;
        }