} else if (ttok == "noun") {
setNoun(ON);
} else {
- lex.printError("Illegal misc type `$$Tokenยด");
+ lex.printError("Illegal misc type `$$Token'");
}
} else if (tok == "color") {
lex.next();
int count = 0;
if (language()->babel() != base.language()->babel() &&
language() != prev.language()) {
- if (isRightToLeft() != prev.isRightToLeft()) {
+ if (language()->lang() == "farsi") {
+ os << "\\textFR{";
+ count += 8;
+ } else if (!isRightToLeft() &&
+ base.language()->lang() == "farsi") {
+ os << "\\textLR{";
+ count += 8;
+ } else if (isRightToLeft() != prev.isRightToLeft()) {
if (isRightToLeft()) {
os << "\\R{";
count += 3;
}
// When the current language is Hebrew, Arabic, or Farsi
- // the numbers are written Left-to-Right.
- if (number() == ON && prev.number() != ON && isRightToLeft()) {
+ // the numbers are written Left-to-Right. ArabTeX package
+ // reorders the number automatically but the packages used
+ // for Hebrew and Farsi (Arabi) do not.
+ if (number() == ON && prev.number() != ON
+ && (language()->lang() == "hebrew"
+ || language()->lang() == "farsi")) {
os << "{\\beginL ";
count += 9;
}
}
// When the current language is Hebrew, Arabic, or Farsi
- // the numbers are written Left-to-Right.
- if (number() == ON && next.number() != ON && isRightToLeft()) {
+ // the numbers are written Left-to-Right. ArabTeX package
+ // reorders the number automatically but the packages used
+ // for Hebrew and Farsi (Arabi) do not.
+ if (number() == ON && next.number() != ON
+ && (language()->lang() == "hebrew"
+ || language()->lang() == "farsi")) {
os << "\\endL}";
count += 6;
}