Two set of changes to "src/Font.cpp"
1) In Hebrew, Arabic, and Farsi (Right-to-Left) languages the numbers are 
written from left to write.
2) Mixing Farsi & Arabic with english "\textFR{phrase}" and "\textAR{phrase}" 
are used respectively.

 
---------------------------------
8:00? 8:25? 8:40?  Find a flick in no time
 with theYahoo! Search movie showtime shortcut.
Index: Font.cpp
===================================================================
--- Font.cpp	(revision 18252)
+++ Font.cpp	(working copy)
@@ -749,7 +749,18 @@
 	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 (language()->lang() == "arabic") {
+			os << "\\textAR{";
+			count += 8;
+		} else if (!isRightToLeft() && 
+			   (base.language()->lang() == "arabic" ||
+			    base.language()->lang() == "farsi")) {
+			os << "\\textLR{";
+			count += 8;
+		} else if (isRightToLeft() != prev.isRightToLeft()) {
 			if (isRightToLeft()) {
 				os << "\\R{";
 				count += 3;
@@ -780,8 +791,10 @@
 		}
 	}
 
+	//when the the current language is Hebrew, Arabic, or Farsi
+	//the numbers are written Left-to-Right
 	if (number() == ON && prev.number() != ON &&
-	    language()->lang() == "hebrew") {
+	    isRightToLeft()) {
 		os << "{\\beginL ";
 		count += 9;
 	}
@@ -909,7 +922,7 @@
 	}
 
 	if (number() == ON && next.number() != ON &&
-	    language()->lang() == "hebrew") {
+	    isRightToLeft()) {
 		os << "\\endL}";
 		count += 6;
 	}

Reply via email to