|| inset->lyxCode() == Inset::MATH_CODE
|| inset->lyxCode() == Inset::URL_CODE)
&& running_font.isRightToLeft()) {
- os << "\\L{";
+ if (running_font.language()->lang() == "farsi")
+ os << "\\beginL{}";
+ else
+ os << "\\L{";
close = true;
}
int tmp = inset->latex(buf, os, runparams);
- if (close)
- os << '}';
+ if (close) {
+ if (running_font.language()->lang() == "farsi")
+ os << "\\endL{}";
+ else
+ os << '}';
+ }
if (tmp) {
for (int j = 0; j < tmp; ++j) {
Font const & font, Change const & change)
{
pimpl_->insertInset(pos, inset, change);
+ // Set the font/language of the inset...
setFont(pos, font);
+ // ... as well as the font/language of the text inside the inset
+ // FIXME: This is far from perfect. It basically overrides work being done
+ // in the InsetText constructor. Also, it doesn't work for Tables
+ // (precisely because each cell's font/language is set in the Table's
+ // constructor, so by now it's too late). The long-term solution should
+ // be moving current_font into Cursor, and getting rid of all this...
+ // (see http://thread.gmane.org/gmane.editors.lyx.devel/88869/focus=88944)
+ if (inset->asTextInset()) {
+ inset->asTextInset()->text_.current_font = font;
+ inset->asTextInset()->text_.real_current_font = font;
+ }
}
os << "\\noindent ";
column += 10;
}
+
+ LyXAlignment const curAlign = params().align();
- switch (params().align()) {
+ if (curAlign == layout()->align)
+ return column;
+
+ switch (curAlign) {
case LYX_ALIGN_NONE:
case LYX_ALIGN_BLOCK:
case LYX_ALIGN_LAYOUT:
break;
}
- switch (params().align()) {
+ switch (curAlign) {
case LYX_ALIGN_NONE:
case LYX_ALIGN_BLOCK:
case LYX_ALIGN_LAYOUT: