// all paper sizes except of A4, A5, B5 and the US sizes need the
// geometry package
- bool nonstandard_papersize = papersize != PAPER_USLETTER
+ bool nonstandard_papersize = papersize != PAPER_DEFAULT
+ && papersize != PAPER_USLETTER
&& papersize != PAPER_USLEGAL
&& papersize != PAPER_USEXECUTIVE
&& papersize != PAPER_A4
// XeTeX works without fontenc
if (font_encoding() != "default" && language->lang() != "japanese"
&& !useXetex) {
+ size_t fars = language_options.str().find("farsi");
+ size_t arab = language_options.str().find("arabic");
if (language->lang() == "arabic_arabi"
- || language->lang() == "farsi") {
+ || language->lang() == "farsi" || fars != string::npos
+ || arab != string::npos) {
os << "\\usepackage[" << from_ascii(font_encoding())
<< ",LFE,LAE]{fontenc}\n";
texrow.newline();
texrow.newline();
}
if (!tclass.provides("geometry")
- && (use_geometry || nonstandard_papersize)) {
+ && (use_geometry || nonstandard_papersize)) {
odocstringstream ods;
if (!getGraphicsDriver("geometry").empty())
ods << getGraphicsDriver("geometry");
os << "}\n";
texrow.newline();
}
- } else if (orientation == ORIENTATION_LANDSCAPE) {
+ } else if (orientation == ORIENTATION_LANDSCAPE
+ || papersize != PAPER_DEFAULT) {
features.require("papersize");
}