+ if (language()->encoding()->package() == Encoding::CJK) {
+ pair<bool, int> const c = switchEncoding(os, bparams,
+ runparams.moving_arg, *(runparams.encoding),
+ *(language()->encoding()));
+ if (c.first) {
+ open_encoding_ = true;
+ count += c.second;
+ runparams.encoding = language()->encoding();
+ }
+ }
+
+ // When the current language is Hebrew, Arabic, or Farsi
+ // 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")) {