|
@@ 2131-2133 (lines=3) @@
|
| 2128 |
|
if ($chardata[$i]['type'] == 'NSM') { |
| 2129 |
|
if ($levcount) { |
| 2130 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
| 2131 |
|
} elseif ($i > 0) { |
| 2132 |
|
$chardata[$i]['type'] = $chardata[($i-1)]['type']; |
| 2133 |
|
} |
| 2134 |
|
} |
| 2135 |
|
if ($chardata[$i]['level'] != $prevlevel) { |
| 2136 |
|
$levcount = 0; |
|
@@ 2267-2270 (lines=4) @@
|
| 2264 |
|
(($chardata[($i-1)]['type'] == 'R') OR ($chardata[($i-1)]['type'] == 'EN') OR ($chardata[($i-1)]['type'] == 'AN')) AND |
| 2265 |
|
(($chardata[($i+1)]['type'] == 'R') OR ($chardata[($i+1)]['type'] == 'EN') OR ($chardata[($i+1)]['type'] == 'AN'))) { |
| 2266 |
|
$chardata[$i]['type'] = 'R'; |
| 2267 |
|
} elseif ($chardata[$i]['type'] == 'N') { |
| 2268 |
|
// N2. Any remaining neutrals take the embedding direction |
| 2269 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
| 2270 |
|
} |
| 2271 |
|
} elseif (($levcount == 0) AND (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] == $prevlevel)) { |
| 2272 |
|
// first char |
| 2273 |
|
if (($chardata[$i]['type'] == 'N') AND ($chardata[$i]['sor'] == 'L') AND ($chardata[($i+1)]['type'] == 'L')) { |
|
@@ 2279-2282 (lines=4) @@
|
| 2276 |
|
(($chardata[$i]['sor'] == 'R') OR ($chardata[$i]['sor'] == 'EN') OR ($chardata[$i]['sor'] == 'AN')) AND |
| 2277 |
|
(($chardata[($i+1)]['type'] == 'R') OR ($chardata[($i+1)]['type'] == 'EN') OR ($chardata[($i+1)]['type'] == 'AN'))) { |
| 2278 |
|
$chardata[$i]['type'] = 'R'; |
| 2279 |
|
} elseif ($chardata[$i]['type'] == 'N') { |
| 2280 |
|
// N2. Any remaining neutrals take the embedding direction |
| 2281 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
| 2282 |
|
} |
| 2283 |
|
} elseif (($levcount > 0) AND ((($i+1) == $numchars) OR (($i+1) < $numchars) AND ($chardata[($i+1)]['level'] != $prevlevel))) { |
| 2284 |
|
//last char |
| 2285 |
|
if (($chardata[$i]['type'] == 'N') AND ($chardata[($i-1)]['type'] == 'L') AND ($chardata[$i]['eor'] == 'L')) { |
|
@@ 2291-2294 (lines=4) @@
|
| 2288 |
|
(($chardata[($i-1)]['type'] == 'R') OR ($chardata[($i-1)]['type'] == 'EN') OR ($chardata[($i-1)]['type'] == 'AN')) AND |
| 2289 |
|
(($chardata[$i]['eor'] == 'R') OR ($chardata[$i]['eor'] == 'EN') OR ($chardata[$i]['eor'] == 'AN'))) { |
| 2290 |
|
$chardata[$i]['type'] = 'R'; |
| 2291 |
|
} elseif ($chardata[$i]['type'] == 'N') { |
| 2292 |
|
// N2. Any remaining neutrals take the embedding direction |
| 2293 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
| 2294 |
|
} |
| 2295 |
|
} elseif ($chardata[$i]['type'] == 'N') { |
| 2296 |
|
// N2. Any remaining neutrals take the embedding direction |
| 2297 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
|
@@ 2295-2298 (lines=4) @@
|
| 2292 |
|
// N2. Any remaining neutrals take the embedding direction |
| 2293 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
| 2294 |
|
} |
| 2295 |
|
} elseif ($chardata[$i]['type'] == 'N') { |
| 2296 |
|
// N2. Any remaining neutrals take the embedding direction |
| 2297 |
|
$chardata[$i]['type'] = $chardata[$i]['sor']; |
| 2298 |
|
} |
| 2299 |
|
if ($chardata[$i]['level'] != $prevlevel) { |
| 2300 |
|
$levcount = 0; |
| 2301 |
|
} else { |