#endif
#include "insetquotes.h"
-#include "support/lyxlib.h"
-#include "debug.h"
-#include "lyxfont.h"
-#include "lyxrc.h"
-#include "buffer.h"
-#include "LaTeXFeatures.h"
+
+#include "support/LAssert.h"
#include "support/lstrings.h"
+#include "BufferView.h"
+#include "LaTeXFeatures.h"
#include "Painter.h"
+#include "buffer.h"
+#include "debug.h"
#include "font.h"
#include "language.h"
-#include "BufferView.h"
+#include "lyxfont.h"
+#include "lyxrc.h"
+#include "paragraph.h"
using std::ostream;
using std::endl;
disp += disp;
if (lyxrc.font_norm_type == LyXRC::ISO_8859_1
- || lyxrc.font_norm_type == LyXRC::ISO_8859_9
- || lyxrc.font_norm_type == LyXRC::ISO_8859_15) {
+ || lyxrc.font_norm_type == LyXRC::ISO_8859_3
+ || lyxrc.font_norm_type == LyXRC::ISO_8859_4
+ || lyxrc.font_norm_type == LyXRC::ISO_8859_9) {
if (disp == "'")
disp = "´";
else if (disp == "''")
disp = "´´";
- else if (disp == "<<")
+ }
+ if (lyxrc.font_norm_type == LyXRC::ISO_8859_1
+ || lyxrc.font_norm_type == LyXRC::ISO_8859_9
+ || lyxrc.font_norm_type == LyXRC::ISO_8859_15) {
+ if (disp == "<<")
disp = '«';
else if (disp == ">>")
disp = '»';
extern bool use_babel;
int InsetQuotes::latex(Buffer const * buf, ostream & os,
- bool /*fragile*/, bool) const
+ bool /*fragile*/, bool /* free_spc */) const
{
// How do we get the local language here??
+ lyx::pos_type curr_pos = parOwner()->getPositionOfInset(this);
+ lyx::Assert(curr_pos != -1);
+ string const curr_lang =
+ parOwner()->getFont(buf->params,
+ curr_pos).language()->babel();
- string const doclang = buf->getLanguage()->babel();
const int quoteind = quote_index[side_][language_];
string qstr;
if (language_ == FrenchQ && times_ == DoubleQ
- && doclang == "frenchb") {
+ && curr_lang == "frenchb") {
if (side_ == LeftQ)
qstr = "\\og "; //the spaces are important here
else
qstr = " \\fg{}"; //and here
} else if (language_ == FrenchQ && times_ == DoubleQ
- && doclang == "french") {
+ && curr_lang == "french") {
if (side_ == LeftQ)
qstr = "<< "; //the spaces are important here
else
&& lyxrc.fontenc != "T1") {
if (times_ == SingleQ)
switch (type) {
- case ',': features.quotesinglbase = true; break;
- case '<': features.guilsinglleft = true; break;
- case '>': features.guilsinglright = true; break;
+ case ',': features.require("quotesinglbase"); break;
+ case '<': features.require("guilsinglleft"); break;
+ case '>': features.require("guilsinglright"); break;
default: break;
}
else
switch (type) {
- case ',': features.quotedblbase = true; break;
- case '<': features.guillemotleft = true; break;
- case '>': features.guillemotright = true; break;
+ case ',': features.require("quotedblbase"); break;
+ case '<': features.require("guillemotleft"); break;
+ case '>': features.require("guillemotright"); break;
default: break;
}
}